pack_base.h File Reference

serialisation descriptor More...

#include "classdesc.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <assert.h>
#include <stdarg.h>
#include <exception>
#include <vector>
#include <algorithm>
#include <typeinfo>
#include <Realloc.h>
#include "pack_stl.h"
Include dependency graph for pack_base.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  classdesc::pack_error
 
struct  classdesc::basic_type
 
struct  classdesc::Basic_Type< T >
 
struct  classdesc::PtrStoreBase
 
struct  classdesc::PtrStore< T >
 
class  classdesc::PtrStoreRef
 
class  classdesc::pack_t
 
class  classdesc::BinStream
 
struct  classdesc::BinStreamT< Pack >
 
struct  classdesc::unserialisable< T >
 
struct  classdesc::pack_supported< T >
 
struct  classdesc_access::access_pack< T >
 class to allow access to private members More...
 
struct  classdesc_access::access_unpack< T >
 class to allow access to private members More...
 
struct  classdesc_access::access_pack< T * >
 
struct  classdesc_access::access_unpack< T * >
 
struct  classdesc_access::access_pack< classdesc::unserialisable< T > >
 
struct  classdesc_access::access_unpack< classdesc::unserialisable< T > >
 
struct  classdesc_access::access_pack< classdesc::Exclude< T > >
 
struct  classdesc_access::access_unpack< classdesc::Exclude< T > >
 

Namespaces

 classdesc
 Contains definitions related to classdesc functionality.
 
 classdesc_access
 Contains access_* structs, and nothing else. These structs are used to gain access to private members.
 

Typedefs

typedef pack_t classdesc::xdr_pack
 

Enumerations

enum  classdesc::Ptr_flag {
  DEFAULT, GRAPH, TREE, DEFAULT,
  GRAPH, TREE
}
 

Functions

template<class T >
int classdesc::deepCmp (const T &x, const T &y)
 deep comparison of two serialisable items
 
template<class T >
bool classdesc::deepEq (const T &x, const T &y)
 deep equality of two serialisable items
 
template<class T >
pack_t & classdesc::operator<< (pack_t &y, const T &x)
 
template<class T >
pack_t & classdesc::operator>> (pack_t &y, T &x)
 
template<class T >
void classdesc::pack (pack_t &targ, const string &desc, is_treenode dum, const T *const &arg)
 serialise a tree (or DAG)
 
template<class T >
void classdesc::unpack (unpack_t &targ, const string &desc, is_treenode dum, T *&arg)
 unserialise a tree. More...
 
template<class T >
void classdesc::pack (pack_t &targ, const string &desc, is_graphnode dum, const T &arg)
 serialise a graph structure More...
 
template<class T >
void classdesc::unpack (pack_t &targ, const string &desc, is_graphnode dum, T &arg)
 unserialise a graph structure More...
 
template<class T >
void classdesc::pack_onbase (pack_t &x, const string &d, T &a)
 
template<class T >
void classdesc::unpack_onbase (unpack_t &x, const string &d, T &a)
 
template<class T >
enable_if< Not< pack_supported< T > >, void >::T classdesc::pack (pack_t &buf, const string &desc, T &arg)
 
template<class T >
enable_if< Not< pack_supported< T > >, void >::T classdesc::unpack (unpack_t &buf, const string &desc, T &arg)
 
template<class T >
enable_if< is_fundamental< T >, void >::T classdesc::pack (pack_t &targ, const string &, T &arg)
 
template<class T >
enable_if< is_fundamental< T >, void >::T classdesc::pack (pack_t &targ, const string &, const T &arg)
 
template<class T >
enable_if< is_fundamental< T >, void >::T classdesc::unpack (unpack_t &targ, const string &, T &arg)
 
template<class T >
enable_if< is_fundamental< T >, void >::T classdesc::unpack (unpack_t &targ, const string &, const T &)
 
template<class T >
void classdesc::pack (pack_t &targ, const string &desc, is_array, T &arg, int dims, size_t ncopies,...)
 
template<class T >
void classdesc::unpack (unpack_t &targ, const string &desc, is_array, T &arg, int dims, size_t ncopies,...)
 
void classdesc::pack (pack_t &targ, const string &, is_array, char &arg, int dims, size_t ncopies,...)
 
void classdesc::unpack (unpack_t &targ, const string &, is_array, char &arg, int dims, size_t ncopies,...)
 
template<class C , class T >
void classdesc::pack (pack_t &, const string &, C &, T)
 
template<class C , class T >
void classdesc::unpack (unpack_t &, const string &, C &, T)
 
template<class C , class R , class A1 >
void classdesc::pack (pack_t &targ, const string &desc, R(C::*&arg)(A1))
 
template<class C , class R , class A1 >
void classdesc::unpack (pack_t &targ, const string &desc, R(C::*&arg)(A1))
 
template<class T >
void classdesc::pack (pack_t &targ, const string &desc, is_const_static i, T t)
 const static support. No need to stream
 
template<class T >
void classdesc::unpack (pack_t &targ, const string &desc, is_const_static i, T t)
 
template<class T , class U >
void classdesc::pack (pack_t &, const string &, is_const_static, const T &, U)
 
template<class T , class U >
void classdesc::unpack (pack_t &targ, const string &desc, is_const_static i, const T &, U)
 
template<class E >
void classdesc::pack (pack_t &targ, const string &desc, Enum_handle< E > a)
 
template<class E >
void classdesc::unpack (pack_t &targ, const string &desc, Enum_handle< E > a)
 

Detailed Description

serialisation descriptor