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"
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. | |
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) |
serialisation descriptor