5 #ifndef __pinocchio_serialization_serializable_hpp__
6 #define __pinocchio_serialization_serializable_hpp__
8 #include "pinocchio/serialization/archive.hpp"
12 namespace serialization
15 template<
class Derived>
20 Derived & derived() {
return *
static_cast<Derived*
>(
this); }
21 const Derived & derived()
const {
return *
static_cast<const Derived*
>(
this); }
28 pinocchio::serialization::loadFromText(derived(),filename);
34 pinocchio::serialization::saveToText(derived(),filename);
40 pinocchio::serialization::loadFromStringStream(derived(),is);
46 pinocchio::serialization::saveToStringStream(derived(),ss);
52 pinocchio::serialization::loadFromString(derived(),str);
58 return pinocchio::serialization::saveToString(derived());
63 const std::string & tag_name)
65 pinocchio::serialization::loadFromXML(derived(),filename,tag_name);
70 const std::string & tag_name)
const
72 pinocchio::serialization::saveToXML(derived(),filename,tag_name);
78 pinocchio::serialization::loadFromBinary(derived(),filename);
84 pinocchio::serialization::saveToBinary(derived(),filename);
90 pinocchio::serialization::loadFromBinary(derived(),container);
96 pinocchio::serialization::saveToBinary(derived(),container);
102 pinocchio::serialization::loadFromBinary(derived(),container);
108 pinocchio::serialization::saveToBinary(derived(),container);
116 #endif // ifndef __pinocchio_serialization_serializable_hpp__