30 #ifndef _libCore_MArray_hpp_
31 #define _libCore_MArray_hpp_
33 #include <boost/archive/text_oarchive.hpp>
34 #include <boost/archive/text_iarchive.hpp>
37 #include "GranOO3/3rdParty/Eigen/Dense"
45 template <
typename T>
49 template<
typename... Args>
explicit MPtr(Args... args);
64 template<
class Archive>
void serialize(Archive&,
const unsigned int);
90 static constexpr
int N();
92 template <
typename C,
typename T,
typename... Rest>
100 template <
typename C,
typename T,
typename... Rest>
103 template <
typename C>
104 void fill(
size_t index, C* item);
106 template <
typename C,
typename T,
typename... Rest>
110 const Eigen::VectorXd&
array()
const;
124 #include "GranOO3/Core/MArray.tpp"
Definition: MArray.hpp:88
bool _init
Definition: MArray.hpp:114
Eigen::VectorXd & array()
static constexpr int N(Core::MPtr< T > &(C::*f)(), Rest... rest)
void fill(size_t index, C *item, Core::MPtr< T > &(C::*f)(), Rest... rest)
const Eigen::VectorXd & array() const
void init(const std::vector< C * > &set, Core::MPtr< T > &(C::*f)(), Rest... rest)
Eigen::VectorXd _array
Definition: MArray.hpp:113
void fill(size_t index, C *item)
Definition: MArray.hpp:47
MPtr & operator=(const MPtr &v)
Definition: MArray.hpp:67
void operator/=(T1 v)
Definition: MArray.hpp:71
void operator+=(T1 v)
Definition: MArray.hpp:68
T & operator=(const T &v)
Definition: MArray.hpp:66
T _t
Definition: MArray.hpp:78
MPtr(const MPtr &)=delete
void operator-=(T1 v)
Definition: MArray.hpp:69
const T *& get_ptr() const
void operator*=(T1 v)
Definition: MArray.hpp:70
const T * operator->() const
T * _p
Definition: MArray.hpp:79
friend class boost::serialization::access
Definition: MArray.hpp:63
void serialize(Archive &, const unsigned int)
Definition: Common.hpp:198
const T1
Definition: Exprtk.hpp:16489