30 #ifndef _LibCore_PropClass_H
31 #define _LibCore_PropClass_H
33 #include <boost/serialization/version.hpp>
34 #include <boost/serialization/map.hpp>
56 template<
class T> T&
get();
57 template<
class T>
const T&
get()
const;
70 template<
class Archive>
void save(Archive&,
const unsigned int )
const;
71 template<
class Archive>
void load(Archive&,
const unsigned int);
75 std::vector<Core::Prop<C>*>
_prop;
111 template<
class T1,
class T2>
static T1&
prop(
T2& p) {
113 T1&
t = pc.template get<T1>();
119 const T1&
t = pc.template get<T1>();
125 if (pc.template prop_exist<T1>())
126 return pc.template get<T1>();
128 T1&
t = pc.template new_object<T1>();
139 #include "GranOO3/Core/PropClass.tpp"
#define SafeModeAssert(condition, message)
Definition: Macro.hpp:47
static Null null
Definition: Null.hpp:49
Definition: PropClass.hpp:47
std::vector< Core::Prop< C > * > _prop
Definition: PropClass.hpp:75
void save(Archive &, const unsigned int) const
void add_prop(Core::Prop< C > *)
PropClass & operator=(const PropClass &)=delete
void remove_prop(Core::Prop< C > *)
PropClass(const PropClass &)=delete
void load(Archive &, const unsigned int)
friend class boost::serialization::access
Definition: PropClass.hpp:69
BOOST_SERIALIZATION_SPLIT_MEMBER()
Definition: PropClass.hpp:85
Definition: Common.hpp:198
const T1
Definition: Exprtk.hpp:16489
x y t t *t x y t t t x y t t t x *y t *t t x *y t *t t x y t t t x y t t t t(t+t)") define_sfop3(16
const T1 const T2
Definition: Exprtk.hpp:16511
static Null & new_prop()
Definition: PropClass.hpp:101
static Null & prop(T2 &p)
Definition: PropClass.hpp:91
static const Null & get_prop(const T2 &p)
Definition: PropClass.hpp:96
static T1 & new_prop(T2 &p)
Definition: PropClass.hpp:123
static T1 & prop(T2 &p)
Definition: PropClass.hpp:111
static const T1 & get_prop(const T2 &p)
Definition: PropClass.hpp:117