Infinispan HotRod C++ Client  8.3.1.Final
 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 
12 template <class T> class Marshaller
13 {
14  public:
21  virtual void marshall(const T& obj, std::vector<char>& buff) = 0;
28  virtual T* unmarshall(const std::vector<char>& buff) = 0;
29 
30  virtual ~Marshaller() {}
31  static void destroy(Marshaller<T> *marshaller) { delete marshaller; }
32 };
33 
34 }} // namespace
35 
36 #endif /* ISPN_HOTROD_MARSHALLER_H */
virtual T * unmarshall(const std::vector< char > &buff)=0
virtual ~Marshaller()
Definition: Marshaller.h:30
virtual void marshall(const T &obj, std::vector< char > &buff)=0
static void destroy(Marshaller< T > *marshaller)
Definition: Marshaller.h:31
Definition: Marshaller.h:12