OpenDaVINCI  4.15.3
Visitor.h
Go to the documentation of this file.
1 
20 #ifndef OPENDAVINCI_CORE_BASE_VISITOR_H_
21 #define OPENDAVINCI_CORE_BASE_VISITOR_H_
22 
23 #include <string>
24 
26 
27 namespace odcore { namespace serialization { class Serializable; } }
28 
29 namespace odcore {
30  namespace base {
31 
32  using namespace std;
33 
38  public:
39  virtual ~Visitor();
40 
49  virtual void beginVisit(const int32_t &id, const string &shortName, const string &longName) = 0;
50 
55  virtual void endVisit() = 0;
56 
65  virtual void visit(const uint32_t &id, const string &longName, const string &shortName, odcore::serialization::Serializable &v) = 0;
66 
75  virtual void visit(const uint32_t &id, const string &longName, const string &shortName, bool &v) = 0;
76 
85  virtual void visit(const uint32_t &id, const string &longName, const string &shortName, char &v) = 0;
86 
95  virtual void visit(const uint32_t &id, const string &longName, const string &shortName, unsigned char &v) = 0;
96 
105  virtual void visit(const uint32_t &id, const string &longName, const string &shortName, int8_t &v) = 0;
106 
115  virtual void visit(const uint32_t &id, const string &longName, const string &shortName, int16_t &v) = 0;
116 
125  virtual void visit(const uint32_t &id, const string &longName, const string &shortName, uint16_t &v) = 0;
126 
135  virtual void visit(const uint32_t &id, const string &longName, const string &shortName, int32_t &v) = 0;
136 
145  virtual void visit(const uint32_t &id, const string &longName, const string &shortName, uint32_t &v) = 0;
146 
155  virtual void visit(const uint32_t &id, const string &longName, const string &shortName, int64_t &v) = 0;
156 
165  virtual void visit(const uint32_t &id, const string &longName, const string &shortName, uint64_t &v) = 0;
166 
175  virtual void visit(const uint32_t &id, const string &longName, const string &shortName, float &v) = 0;
176 
185  virtual void visit(const uint32_t &id, const string &longName, const string &shortName, double &v) = 0;
186 
195  virtual void visit(const uint32_t &id, const string &longName, const string &shortName, string &v) = 0;
196 
206  virtual void visit(const uint32_t &id, const string &longName, const string &shortName, void *data, const uint32_t &size) = 0;
207  };
208 
209  }
210 } // odcore::base
211 
212 #endif /*OPENDAVINCI_CORE_BASE_VISITOR_H_*/
#define OPENDAVINCI_API
Definition: opendavinci.h:67
Definition: Visitor.h:37
Definition: Serializable.h:59