Classdesc 3.44
|
serialisation descriptor More...
#include "classdesc.h"
#include "function.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 "use_mbr_pointers.h"
Go to the source code of this file.
Classes | |
class | pack_error |
struct | basic_type |
struct | Basic_Type< T > |
struct | PtrStoreBase |
struct | PtrStore< T > |
class | PtrStoreRef |
class | pack_t |
class | xdr_pack |
class | BinStream |
struct | BinStreamT< Pack > |
struct | unserialisable< T > |
struct | pack_supported< T > |
struct | access_pack< T * > |
struct | access_unpack< T * > |
struct | access_pack< classdesc::unserialisable< T > > |
struct | access_unpack< classdesc::unserialisable< T > > |
struct | access_pack< classdesc::Exclude< T > > |
struct | access_unpack< classdesc::Exclude< T > > |
Namespaces | |
namespace | classdesc |
Contains definitions related to classdesc functionality. | |
namespace | classdesc_access |
Contains access_* structs, and nothing else. These structs are used to gain access to private members. |
Enumerations | |
enum | Ptr_flag { DEFAULT , GRAPH , TREE , DEFAULT , GRAPH , TREE } |
Functions | |
template<class T> | |
xdr_filter | XDR_filter (const T &) |
template<class T> | |
int | deepCmp (const T &x, const T &y) |
deep comparison of two serialisable items | |
template<class T> | |
bool | deepEq (const T &x, const T &y) |
deep equality of two serialisable items | |
template<> | |
string | typeName< pack_t > () |
template<> | |
string | typeName< xdr_pack > () |
template<class T> | |
pack_t & | operator<< (pack_t &y, const T &x) |
template<class T> | |
pack_t & | operator>> (pack_t &y, T &x) |
template<class T> | |
void | pack (pack_t &targ, const string &desc, is_treenode dum, const T *const &arg) |
serialise a tree (or DAG) | |
template<class T> | |
void | unpack (unpack_t &targ, const string &desc, is_treenode dum, T *&arg) |
unserialise a tree. | |
template<class T> | |
void | pack (pack_t &targ, const string &desc, is_graphnode dum, const T &arg) |
serialise a graph structure | |
template<class T> | |
void | unpack (pack_t &targ, const string &desc, is_graphnode dum, T &arg) |
unserialise a graph structure | |
template<class T> | |
void | pack_onbase (pack_t &x, const string &d, T &a) |
template<class T> | |
void | unpack_onbase (unpack_t &x, const string &d, T &a) |
template<class T> | |
enable_if< Not< pack_supported< T > >, void >::T | pack (pack_t &buf, const string &desc, T &arg) |
template<class T> | |
enable_if< Not< pack_supported< T > >, void >::T | unpack (unpack_t &buf, const string &desc, T &arg) |
template<class T> | |
enable_if< is_fundamental< T >, void >::T | pack (pack_t &targ, const string &, T &arg) |
template<class T> | |
enable_if< is_fundamental< T >, void >::T | pack (pack_t &targ, const string &, const T &arg) |
template<class T> | |
enable_if< is_fundamental< T >, void >::T | unpack (unpack_t &targ, const string &, T &arg) |
template<class T> | |
enable_if< is_fundamental< T >, void >::T | unpack (unpack_t &targ, const string &, const T &) |
template<class T> | |
void | pack (pack_t &targ, const string &desc, is_array, T &arg, int dims, size_t ncopies,...) |
template<class T> | |
void | unpack (unpack_t &targ, const string &desc, is_array, T &arg, int dims, size_t ncopies,...) |
void | pack (pack_t &targ, const string &, is_array, char &arg, int dims, size_t ncopies,...) |
void | unpack (unpack_t &targ, const string &, is_array, char &arg, int dims, size_t ncopies,...) |
template<class C, class R, class A1> | |
void | pack (pack_t &targ, const string &desc, R(C::*&arg)(A1)) |
template<class C, class R, class A1> | |
void | unpack (pack_t &targ, const string &desc, R(C::*&arg)(A1)) |
template<class C, class T> | |
enable_if< And< is_member_object_pointer< T >, Not< functional::is_nonmember_function_ptr< T > > >, void >::T | pack (pack_t &b, const string &d, C &o, T y) |
template<class C, class T> | |
enable_if< And< is_member_object_pointer< T >, Not< functional::is_nonmember_function_ptr< T > > >, void >::T | unpack (unpack_t &b, const string &d, C &o, T y) |
template<class C, class T> | |
enable_if< And< Not< is_base_of< is_const_static, C > >, is_object< T > >, void >::T | pack (pack_t &b, const string &d, C &, T *y) |
template<class C, class T> | |
enable_if< And< Not< is_base_of< is_const_static, C > >, is_object< T > >, void >::T | unpack (unpack_t &b, const string &d, C &, T *y) |
template<class T> | |
void | pack (pack_t &targ, const string &desc, is_const_static i, T t) |
const static support. No need to stream | |
template<class T> | |
void | unpack (pack_t &targ, const string &desc, is_const_static i, T t) |
template<class T, class U> | |
void | pack (pack_t &, const string &, is_const_static, const T &, U) |
template<class T, class U> | |
void | unpack (pack_t &targ, const string &desc, is_const_static i, const T &, U) |
template<class E> | |
void | pack (pack_t &targ, const string &desc, Enum_handle< E > a) |
template<class E> | |
void | unpack (pack_t &targ, const string &desc, Enum_handle< E > a) |
template<class T> | |
void | pack (pack_t &, const string &, const Exclude< T > &) |
template<class T> | |
void | unpack (pack_t &, const string &, const Exclude< T > &) |
template<class T> | |
void | pack_onbase (pack_t &x, const string &d, T &a) |
template<class T> | |
void | unpack_onbase (unpack_t &x, const string &d, T &a) |
template<class T> | |
void | pack (pack_t &targ, const string &desc, is_treenode dum, const T *const &arg) |
serialise a tree (or DAG) | |
template<class T> | |
void | unpack (unpack_t &targ, const string &desc, is_treenode dum, T *&arg) |
unserialise a tree. | |
template<class T> | |
void | pack_onbase (pack_t &x, const string &d, T &a) |
template<class T> | |
void | unpack_onbase (unpack_t &x, const string &d, T &a) |
serialisation descriptor
|
inline |
unserialise a tree.
Serialised DAGs will be converted to a tree