1#ifndef SERIALIZATION_BOOST_H
2#define SERIALIZATION_BOOST_H
4#include <boost/archive/text_oarchive.hpp>
5#include <boost/archive/text_iarchive.hpp>
6#include <boost/archive/binary_oarchive.hpp>
7#include <boost/archive/binary_iarchive.hpp>
9#include <boost/serialization/std::vector.hpp>
10#include <boost/serialization/std::map.hpp>
11#include <boost/serialization/set.hpp>
12#include <boost/serialization/std::string.hpp>
14#include "../../source_base/vector3.h"
15#include "../../source_base/abfs-vector3_order.h"
16#include "../../source_base/matrix.h"
17#include "../../source_base/matrix_wrapper.h"
21 namespace serialization
24 template<
typename Archive,
typename T>
33 template<
typename Archive,
typename T>
42 template<
typename Archive>
45 const collection_size_type nr(m.
nr), nc(m.
nc);
46 ar << BOOST_SERIALIZATION_NVP(nr) << BOOST_SERIALIZATION_NVP(nc);
48 ar << serialization::make_array( m.
c, nr*nc );
50 template<
class Archive>
53 collection_size_type nr, nc;
54 ar >> BOOST_SERIALIZATION_NVP(nr) >> BOOST_SERIALIZATION_NVP(nc);
57 ar >> serialization::make_array( m.
c, nr*nc );
59 template<
class Archive>
62 boost::serialization::split_free(ar, m, file_version);
66 template<
typename Archive>
69 const collection_size_type nr(m.
nr), nc(m.
nc);
70 ar << BOOST_SERIALIZATION_NVP(nr) << BOOST_SERIALIZATION_NVP(nc);
72 ar << serialization::make_array( m.
c, nr*nc );
74 template<
class Archive>
77 collection_size_type nr, nc;
78 ar >> BOOST_SERIALIZATION_NVP(nr) >> BOOST_SERIALIZATION_NVP(nc);
81 ar >> serialization::make_array( m.
c, nr*nc );
83 template<
class Archive>
86 boost::serialization::split_free(ar, m, file_version);
92#include <boost/serialization/collection_traits.hpp>
Definition abfs-vector3_order.h:16
Definition matrix_wrapper.h:20
int nr
Definition matrix_wrapper.h:22
double * c
Definition matrix_wrapper.h:24
void create(const int nr_in, const int nc_in, const bool flag_zero)
Definition matrix_wrapper.h:40
int nc
Definition matrix_wrapper.h:23
3 elements vector
Definition vector3.h:22
T x
Definition vector3.h:24
T y
Definition vector3.h:25
T z
Definition vector3.h:26
int nr
Definition matrix.h:23
double * c
Definition matrix.h:25
int nc
Definition matrix.h:24
void create(const int nrow, const int ncol, const bool flag_zero=true)
Definition matrix.cpp:122
void serialize(Archive &ar, ModuleBase::Vector3< T > &v, const unsigned int version)
Definition serialization_boost.h:25
void load(Archive &ar, ModuleBase::matrix &m, const unsigned int)
Definition serialization_boost.h:51
void save(Archive &ar, const ModuleBase::matrix &m, const unsigned int)
Definition serialization_boost.h:43
Definition serialization_boost.h:20