pinocchio  2.1.3
serializable.hpp
1 //
2 // Copyright (c) 2017-2019 CNRS INRIA
3 //
4 
5 #ifndef __pinocchio_serialization_serializable_hpp__
6 #define __pinocchio_serialization_serializable_hpp__
7 
8 #include "pinocchio/serialization/archive.hpp"
9 
10 namespace pinocchio
11 {
12  namespace serialization
13  {
14 
15  template<class Derived>
16  struct Serializable
17  {
18  private:
19 
20  Derived & derived() { return *static_cast<Derived*>(this); }
21  const Derived & derived() const { return *static_cast<const Derived*>(this); }
22 
23  public:
24 
26  void loadFromText(const std::string & filename)
27  {
28  pinocchio::serialization::loadFromText(derived(),filename);
29  }
30 
32  void saveToText(const std::string & filename) const
33  {
34  pinocchio::serialization::saveToText(derived(),filename);
35  }
36 
38  void loadFromXML(const std::string & filename,
39  const std::string & tag_name)
40  {
41  pinocchio::serialization::loadFromXML(derived(),filename,tag_name);
42  }
43 
45  void saveToXML(const std::string & filename,
46  const std::string & tag_name) const
47  {
48  pinocchio::serialization::saveToXML(derived(),filename,tag_name);
49  }
50 
52  void loadFromBinary(const std::string & filename)
53  {
54  pinocchio::serialization::loadFromBinary(derived(),filename);
55  }
56 
58  void saveToBinary(const std::string & filename) const
59  {
60  pinocchio::serialization::saveToBinary(derived(),filename);
61  }
62  };
63 
64  }
65 } // namespace pinocchio
66 
67 #endif // ifndef __pinocchio_serialization_serializable_hpp__
68 
void saveToBinary(const std::string &filename) const
Saves a Derived object as an binary file.
void loadFromXML(const std::string &filename, const std::string &tag_name)
Loads a Derived object from an XML file.
void loadFromBinary(const std::string &filename)
Loads a Derived object from an binary file.
void saveToXML(const std::string &filename, const std::string &tag_name) const
Saves a Derived object as an XML file.
void saveToText(const std::string &filename) const
Saves a Derived object as a text file.
Main pinocchio namespace.
Definition: treeview.dox:24
void loadFromText(const std::string &filename)
Loads a Derived object from a text file.