InfinispanHotRodC++Client  8.2.0.Alpha1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Marshaller.h
Go to the documentation of this file.
1 #ifndef ISPN_HOTROD_MARSHALLER_H
2 #define ISPN_HOTROD_MARSHALLER_H
3 
4 #include <vector>
5 
6 namespace infinispan {
7 namespace hotrod {
8 
9 template <class T> class Marshaller
10 {
11  public:
12  virtual void marshall(const T&, std::vector<char>&) = 0;
13  virtual T* unmarshall(const std::vector<char>&) = 0;
14 
15  virtual ~Marshaller() {}
16  static void destroy(Marshaller<T> *marshaller) { delete marshaller; }
17 };
18 
19 }} // namespace
20 
21 #endif /* ISPN_HOTROD_MARSHALLER_H */
virtual ~Marshaller()
Definition: Marshaller.h:15
static void destroy(Marshaller< T > *marshaller)
Definition: Marshaller.h:16
virtual T * unmarshall(const std::vector< char > &)=0
Definition: Marshaller.h:9
virtual void marshall(const T &, std::vector< char > &)=0