classdesc Namespace Reference

Contains definitions related to classdesc functionality. More...

Namespaces

 functional
 contains code generated by functiondb.sh that defines functional attributes.
 

Classes

struct  Alloc
 
struct  Alloc< classdesc::ref< T > >
 
struct  Alloc< T * >
 
struct  AllOtherJsonPackpTypes
 
struct  AllOtherRandomInitTypes
 
struct  AllOtherXMLPackpTypes
 
struct  And
 
class  Arg
 
struct  arg_desc
 
struct  arg_desc< F, 0 >
 
class  ArgRef
 
class  ArgRef< void >
 
struct  ArgRef_base
 base class for ArgRef More...
 
class  ArgVector
 
struct  associative_container
 
struct  attribute_info
 
struct  base_cast
 
struct  basic_type
 
struct  Basic_Type
 
class  bcast
 MPIbuf manipulator to broadcast the MPIbuf's contents to all processes. More...
 
class  BinStream
 
struct  BinStreamT
 
struct  ClassFile
 
struct  conditional
 
struct  conditional< false, True, F >
 
class  cp_info
 
struct  Descriptor
 Descriptor object. More...
 
struct  Descriptor< bool >
 
struct  Descriptor< const T & >
 
struct  Descriptor< const T >
 
struct  Descriptor< double >
 
struct  Descriptor< float >
 
struct  Descriptor< int >
 
struct  Descriptor< long >
 
struct  Descriptor< short >
 
struct  Descriptor< signed char >
 
struct  Descriptor< std::string >
 
struct  Descriptor< T & >
 
struct  Descriptor< unsigned char >
 
struct  Descriptor< unsigned int >
 
struct  Descriptor< unsigned long >
 
struct  Descriptor< unsigned short >
 
struct  Descriptor< void >
 
struct  dummy
 
struct  dummy_functional
 
class  dump_t
 
struct  enable_if
 controlled template specialisation: stolen from boost::enable_if. More...
 
struct  enable_if_c
 
struct  enable_if_c< false, T >
 
class  Enum_handle
 
struct  EnumKey
 enum symbol handling More...
 
class  EnumKeys
 
class  Eobject
 
struct  Eq
 
struct  EverythingElse
 
struct  exception
 base class for exceptions thrown by classdesc More...
 
struct  Exclude
 
struct  Exclude< bool >
 
struct  Exclude< T * >
 
struct  ExcludeClass
 
struct  ExcludeFundamental
 
class  Factory
 
struct  field_info
 
struct  Format
 
class  Functional
 
struct  Functional_base
 
class  getter_setter
 
class  is_array
 
struct  is_associative_container
 determines if T is a standard associative container More...
 
struct  is_associative_container< const T >
 
struct  is_associative_container< std::map< K, V, C, A > >
 
struct  is_associative_container< std::multimap< K, V, C, A > >
 
struct  is_associative_container< std::multiset< T, C, A > >
 
struct  is_associative_container< std::set< T, C, A > >
 
class  is_const_static
 
struct  is_container
 determines if T is a container More...
 
struct  is_dca
 has default constructor, and is copiable More...
 
class  is_graphnode
 
struct  is_leftOver
 
class  is_node
 
struct  is_rvalue
 can a temporary of type T be constructed and passed to an argument More...
 
struct  is_rvalue< const T & >
 
struct  is_rvalue< T & >
 
struct  is_sequence
 determines if T is a standard sequence container More...
 
struct  is_sequence< const T >
 
struct  is_sequence< std::deque< T, A > >
 
struct  is_sequence< std::list< T, A > >
 
struct  is_sequence< std::vector< T, A > >
 
struct  is_string
 determines if this is a string More...
 
struct  is_string< const T >
 
struct  is_string< std::basic_string< T > >
 
class  is_treenode
 
class  isend
 MPIbuf manipulator to asyncronously send the MPIbuf's contents to a remote process. More...
 
class  Iterator
 
class  Iterator< const T >
 
struct  javaClass_t
 
struct  JNItype
 Convert a C++ type to a Java JNI type. More...
 
struct  JNItype< jobject >
 
struct  JNItype< jstring >
 specialisation for strings More...
 
struct  json_object_not_found
 
class  json_pack_error
 
class  json_pack_t
 
class  mark
 A manipulator to mark a processor boundary for scatterv. More...
 
struct  method_info
 
class  MPIbuf
 buffer object providing MPI functionality More...
 
class  MPIbuf_array
 used for managing groups of messages More...
 
class  MPIslave
 Master slave manager. More...
 
class  MPISPMD
 RAII class to setup and tear down MPI classes. Must be instantiated in main. More...
 
struct  NameAndTypeInfo
 
struct  NonConstKeyValueType
 helper for unpacking into map value_types More...
 
struct  NonConstKeyValueType< std::pair< const K, V > >
 
struct  Not
 
struct  NullDescriptor
 helper for constructing null descriptors More...
 
struct  object
 
struct  Object
 
struct  Or
 
class  pack_error
 
struct  pack_supported
 
struct  pack_supported< classdesc::shared_ptr< T > >
 
class  pack_t
 
class  poly
 
struct  Poly
 
struct  PolyBase
 base class for polymorphic types. T is a type enumerator class More...
 
struct  PolyBaseMarker
 
struct  PolyJson
 
struct  PolyJsonBase
 
struct  PolyPack
 utility class for defining pack descriptors for polymorphic types More...
 
struct  PolyPackBase
 interface for applying pack descriptors to polymorphic objects More...
 
class  polyref
 
struct  PolyXML
 
struct  PolyXMLBase
 
struct  PtrStore
 
struct  PtrStoreBase
 
class  PtrStoreRef
 
class  random_init_t
 
class  ref
 
struct  Ref
 
struct  Register
 
struct  ResetThrowOnErrorOnExit
 
class  RetVal
 Handle the return value. More...
 
class  send
 MPIbuf manipulator to send the MPIbuf's contents to a remote process. More...
 
struct  sequence
 
struct  sig_error
 
struct  SimpleTypeTable
 
struct  StringKeyMap
 
struct  TCL_obj_t
 TCL_obj descriptor object. More...
 
struct  tn
 
struct  tn< ecolab::array< T > >
 
struct  tn< PolyJson< T > >
 
struct  tn< PolyJsonBase >
 
struct  tn< PolyPack< T > >
 
struct  tn< PolyPackBase >
 
struct  tn< PolyXML< T > >
 
struct  tn< PolyXMLBase >
 
struct  tn< shared_ptr< T > >
 
struct  tn< std::deque< T, A > >
 
struct  tn< std::list< T, A > >
 
struct  tn< std::map< K, V, C, A > >
 
struct  tn< std::pair< K, V > >
 
struct  tn< std::set< T, C, A > >
 
struct  tn< std::vector< T, A > >
 
struct  tn< T * >
 
struct  u2
 
struct  u4
 
struct  u8
 
struct  UnknownSchema
 
struct  unserialisable
 
struct  Value_Type
 
struct  Value_Type< std::map< K, V, C, A > >
 
struct  Value_Type< std::multimap< K, V, C, A > >
 
class  xml_pack_error
 
class  xml_pack_t
 
class  xml_unpack_t
 
class  XMLtoken
 
class  xsd_generate_t
 

Typedefs

typedef std::map< std::string, int > SVMap
 
typedef std::map< int, std::string > VSMap
 
typedef pack_t MPIbuf_base
 
typedef pack_t unpack_t
 
typedef std::set< const std::type_info * > isa_t
 data structure for storing inheritance relationships
 
typedef unsigned char u1
 
typedef poly< Functional_baseFunctional_ptr
 
typedef json_pack_t json_unpack_t
 
typedef std::vector< shared_ptr< object > > Factory
 
typedef pack_t xdr_pack
 

Enumerations

enum  {
  JVM_ACC_PUBLIC = 0x0001, JVM_ACC_PRIVATE = 0x0002, JVM_ACC_PROTECTED = 0x0004, JVM_ACC_STATIC = 0x0008,
  JVM_ACC_FINAL = 0x0010, JVM_ACC_SYNCHRONIZED = 0x0020, JVM_ACC_SUPER = 0x0020, JVM_ACC_VOLATILE = 0x0040,
  JVM_ACC_BRIDGE = 0x0040, JVM_ACC_TRANSIENT = 0x0080, JVM_ACC_VARARGS = 0x0080, JVM_ACC_NATIVE = 0x0100,
  JVM_ACC_INTERFACE = 0x0200, JVM_ACC_ABSTRACT = 0x0400, JVM_ACC_STRICT = 0x0800, JVM_ACC_SYNTHETIC = 0x1000,
  JVM_ACC_ANNOTATION = 0x2000, JVM_ACC_ENUM = 0x4000
}
 
enum  {
  JVM_T_BOOLEAN = 4, JVM_T_CHAR = 5, JVM_T_FLOAT = 6, JVM_T_DOUBLE = 7,
  JVM_T_BYTE = 8, JVM_T_SHORT = 9, JVM_T_INT = 10, JVM_T_LONG = 11
}
 
enum  {
  JVM_CONSTANT_Utf8 = 1, JVM_CONSTANT_Unicode = 2, JVM_CONSTANT_Integer = 3, JVM_CONSTANT_Float = 4,
  JVM_CONSTANT_Long = 5, JVM_CONSTANT_Double = 6, JVM_CONSTANT_Class = 7, JVM_CONSTANT_String = 8,
  JVM_CONSTANT_Fieldref = 9, JVM_CONSTANT_Methodref = 10, JVM_CONSTANT_InterfaceMethodref = 11, JVM_CONSTANT_NameAndType = 12
}
 
enum  {
  JVM_ITEM_Top = 0, JVM_ITEM_Integer = 1, JVM_ITEM_Float = 2, JVM_ITEM_Double = 3,
  JVM_ITEM_Long = 4, JVM_ITEM_Null = 5, JVM_ITEM_UninitializedThis = 6, JVM_ITEM_Object = 7,
  JVM_ITEM_Uninitialized = 8
}
 
enum  {
  JVM_SIGNATURE_ARRAY = '[', JVM_SIGNATURE_BYTE = 'B', JVM_SIGNATURE_CHAR = 'C', JVM_SIGNATURE_CLASS = 'L',
  JVM_SIGNATURE_ENDCLASS = ';', JVM_SIGNATURE_ENUM = 'E', JVM_SIGNATURE_FLOAT = 'F', JVM_SIGNATURE_DOUBLE = 'D',
  JVM_SIGNATURE_FUNC = '(', JVM_SIGNATURE_ENDFUNC = ')', JVM_SIGNATURE_INT = 'I', JVM_SIGNATURE_LONG = 'J',
  JVM_SIGNATURE_SHORT = 'S', JVM_SIGNATURE_VOID = 'V', JVM_SIGNATURE_BOOLEAN = 'Z'
}
 
enum  {
  JVM_OPC_nop = 0, JVM_OPC_aconst_null = 1, JVM_OPC_iconst_m1 = 2, JVM_OPC_iconst_0 = 3,
  JVM_OPC_iconst_1 = 4, JVM_OPC_iconst_2 = 5, JVM_OPC_iconst_3 = 6, JVM_OPC_iconst_4 = 7,
  JVM_OPC_iconst_5 = 8, JVM_OPC_lconst_0 = 9, JVM_OPC_lconst_1 = 10, JVM_OPC_fconst_0 = 11,
  JVM_OPC_fconst_1 = 12, JVM_OPC_fconst_2 = 13, JVM_OPC_dconst_0 = 14, JVM_OPC_dconst_1 = 15,
  JVM_OPC_bipush = 16, JVM_OPC_sipush = 17, JVM_OPC_ldc = 18, JVM_OPC_ldc_w = 19,
  JVM_OPC_ldc2_w = 20, JVM_OPC_iload = 21, JVM_OPC_lload = 22, JVM_OPC_fload = 23,
  JVM_OPC_dload = 24, JVM_OPC_aload = 25, JVM_OPC_iload_0 = 26, JVM_OPC_iload_1 = 27,
  JVM_OPC_iload_2 = 28, JVM_OPC_iload_3 = 29, JVM_OPC_lload_0 = 30, JVM_OPC_lload_1 = 31,
  JVM_OPC_lload_2 = 32, JVM_OPC_lload_3 = 33, JVM_OPC_fload_0 = 34, JVM_OPC_fload_1 = 35,
  JVM_OPC_fload_2 = 36, JVM_OPC_fload_3 = 37, JVM_OPC_dload_0 = 38, JVM_OPC_dload_1 = 39,
  JVM_OPC_dload_2 = 40, JVM_OPC_dload_3 = 41, JVM_OPC_aload_0 = 42, JVM_OPC_aload_1 = 43,
  JVM_OPC_aload_2 = 44, JVM_OPC_aload_3 = 45, JVM_OPC_iaload = 46, JVM_OPC_laload = 47,
  JVM_OPC_faload = 48, JVM_OPC_daload = 49, JVM_OPC_aaload = 50, JVM_OPC_baload = 51,
  JVM_OPC_caload = 52, JVM_OPC_saload = 53, JVM_OPC_istore = 54, JVM_OPC_lstore = 55,
  JVM_OPC_fstore = 56, JVM_OPC_dstore = 57, JVM_OPC_astore = 58, JVM_OPC_istore_0 = 59,
  JVM_OPC_istore_1 = 60, JVM_OPC_istore_2 = 61, JVM_OPC_istore_3 = 62, JVM_OPC_lstore_0 = 63,
  JVM_OPC_lstore_1 = 64, JVM_OPC_lstore_2 = 65, JVM_OPC_lstore_3 = 66, JVM_OPC_fstore_0 = 67,
  JVM_OPC_fstore_1 = 68, JVM_OPC_fstore_2 = 69, JVM_OPC_fstore_3 = 70, JVM_OPC_dstore_0 = 71,
  JVM_OPC_dstore_1 = 72, JVM_OPC_dstore_2 = 73, JVM_OPC_dstore_3 = 74, JVM_OPC_astore_0 = 75,
  JVM_OPC_astore_1 = 76, JVM_OPC_astore_2 = 77, JVM_OPC_astore_3 = 78, JVM_OPC_iastore = 79,
  JVM_OPC_lastore = 80, JVM_OPC_fastore = 81, JVM_OPC_dastore = 82, JVM_OPC_aastore = 83,
  JVM_OPC_bastore = 84, JVM_OPC_castore = 85, JVM_OPC_sastore = 86, JVM_OPC_pop = 87,
  JVM_OPC_pop2 = 88, JVM_OPC_dup = 89, JVM_OPC_dup_x1 = 90, JVM_OPC_dup_x2 = 91,
  JVM_OPC_dup2 = 92, JVM_OPC_dup2_x1 = 93, JVM_OPC_dup2_x2 = 94, JVM_OPC_swap = 95,
  JVM_OPC_iadd = 96, JVM_OPC_ladd = 97, JVM_OPC_fadd = 98, JVM_OPC_dadd = 99,
  JVM_OPC_isub = 100, JVM_OPC_lsub = 101, JVM_OPC_fsub = 102, JVM_OPC_dsub = 103,
  JVM_OPC_imul = 104, JVM_OPC_lmul = 105, JVM_OPC_fmul = 106, JVM_OPC_dmul = 107,
  JVM_OPC_idiv = 108, JVM_OPC_ldiv = 109, JVM_OPC_fdiv = 110, JVM_OPC_ddiv = 111,
  JVM_OPC_irem = 112, JVM_OPC_lrem = 113, JVM_OPC_frem = 114, JVM_OPC_drem = 115,
  JVM_OPC_ineg = 116, JVM_OPC_lneg = 117, JVM_OPC_fneg = 118, JVM_OPC_dneg = 119,
  JVM_OPC_ishl = 120, JVM_OPC_lshl = 121, JVM_OPC_ishr = 122, JVM_OPC_lshr = 123,
  JVM_OPC_iushr = 124, JVM_OPC_lushr = 125, JVM_OPC_iand = 126, JVM_OPC_land = 127,
  JVM_OPC_ior = 128, JVM_OPC_lor = 129, JVM_OPC_ixor = 130, JVM_OPC_lxor = 131,
  JVM_OPC_iinc = 132, JVM_OPC_i2l = 133, JVM_OPC_i2f = 134, JVM_OPC_i2d = 135,
  JVM_OPC_l2i = 136, JVM_OPC_l2f = 137, JVM_OPC_l2d = 138, JVM_OPC_f2i = 139,
  JVM_OPC_f2l = 140, JVM_OPC_f2d = 141, JVM_OPC_d2i = 142, JVM_OPC_d2l = 143,
  JVM_OPC_d2f = 144, JVM_OPC_i2b = 145, JVM_OPC_i2c = 146, JVM_OPC_i2s = 147,
  JVM_OPC_lcmp = 148, JVM_OPC_fcmpl = 149, JVM_OPC_fcmpg = 150, JVM_OPC_dcmpl = 151,
  JVM_OPC_dcmpg = 152, JVM_OPC_ifeq = 153, JVM_OPC_ifne = 154, JVM_OPC_iflt = 155,
  JVM_OPC_ifge = 156, JVM_OPC_ifgt = 157, JVM_OPC_ifle = 158, JVM_OPC_if_icmpeq = 159,
  JVM_OPC_if_icmpne = 160, JVM_OPC_if_icmplt = 161, JVM_OPC_if_icmpge = 162, JVM_OPC_if_icmpgt = 163,
  JVM_OPC_if_icmple = 164, JVM_OPC_if_acmpeq = 165, JVM_OPC_if_acmpne = 166, JVM_OPC_goto = 167,
  JVM_OPC_jsr = 168, JVM_OPC_ret = 169, JVM_OPC_tableswitch = 170, JVM_OPC_lookupswitch = 171,
  JVM_OPC_ireturn = 172, JVM_OPC_lreturn = 173, JVM_OPC_freturn = 174, JVM_OPC_dreturn = 175,
  JVM_OPC_areturn = 176, JVM_OPC_return = 177, JVM_OPC_getstatic = 178, JVM_OPC_putstatic = 179,
  JVM_OPC_getfield = 180, JVM_OPC_putfield = 181, JVM_OPC_invokevirtual = 182, JVM_OPC_invokespecial = 183,
  JVM_OPC_invokestatic = 184, JVM_OPC_invokeinterface = 185, JVM_OPC_xxxunusedxxx = 186, JVM_OPC_new = 187,
  JVM_OPC_newarray = 188, JVM_OPC_anewarray = 189, JVM_OPC_arraylength = 190, JVM_OPC_athrow = 191,
  JVM_OPC_checkcast = 192, JVM_OPC_instanceof = 193, JVM_OPC_monitorenter = 194, JVM_OPC_monitorexit = 195,
  JVM_OPC_wide = 196, JVM_OPC_multianewarray = 197, JVM_OPC_ifnull = 198, JVM_OPC_ifnonnull = 199,
  JVM_OPC_goto_w = 200, JVM_OPC_jsr_w = 201, JVM_OPC_MAX = 201
}
 
enum  Ptr_flag {
  DEFAULT, GRAPH, TREE, DEFAULT,
  GRAPH, TREE
}
 
enum  Ptr_flag {
  DEFAULT, GRAPH, TREE, DEFAULT,
  GRAPH, TREE
}
 

Functions

template<class T >
std::string typeName ()
 
template<class T >
const EnumKeys< T > & enum_keys ()
 
template<class T >
enable_if< is_enum< T >, std::ostream & >::T operator<< (std::ostream &o, T x)
 
template<class T >
std::istream & operator>> (std::istream &i, Enum_handle< T > &x)
 
template<class T >
std::ostream & operator<< (std::ostream &o, Enum_handle< T > x)
 
template<class T >
Enum_handle< T > enum_handle (T &x)
 
std::string tail (const string &x)
 
std::string head (const string &x)
 
template<class T >
string basename ()
 returns a valid identifier to append to the descriptor of a base class
 
template<class T >
void dump (dump_t &o, const string &d, const T &a)
 forward declare generic dump operation
 
template<class T >
void dump (std::ostream &o, const string &d, const T &a)
 utility for using existing ostreams directly
 
int format (std::ostream &o, const string &d)
 
template<class T >
void dump_basic (dump_t &o, const string &d, T &a)
 
template<class B >
enable_if< is_fundamental< B >, void >::T dumpp (dump_t &o, const string &d, B &a)
 
void dumpp (dump_t &o, const string &d, const char *&a)
 
template<class W >
void dumpp (dump_t &o, const string &d, std::basic_string< W > &a)
 
template<class A , class B >
enable_if< And< is_fundamental< A >, is_fundamental< B > >, void >::T dump (dump_t &o, const string &d, std::pair< A, B > &a, dummy< 0 > dum=0)
 handle maps, whose value_type is a pair
 
template<class A , class B >
enable_if< And< is_fundamental< A >, Not< is_fundamental< B > > >, void >::T dump (dump_t &o, const string &d, std::pair< A, B > &a, dummy< 1 > dum=0)
 
template<class A , class B >
enable_if< Not< is_fundamental< A > >, void >::T dump (dump_t &o, const string &d, std::pair< A, B > &a, dummy< 2 > dum=0)
 
template<class I >
enable_if< is_fundamental< typename std::iterator_traits< I >::value_type >, void >::T dump_container (dump_t &o, const string &d, I begin, const I &end, dummy< 0 > dum=0)
 
template<class I >
enable_if< Not< is_fundamental< typename std::iterator_traits< I >::value_type > >, void >::T dump_container (dump_t &o, const string &d, I begin, const I &end, dummy< 1 > dum=0)
 
template<class C >
enable_if< is_container< C >, void >::T dump (dump_t &o, const string &d, C &a, dummy< 0 > dum=0)
 
template<class C , class M >
void dump (dump_t &o, const string &d, C &a, M m)
 ignore member functions
 
template<class T >
void dump (dump_t &o, const string &d, Enum_handle< T > arg)
 handle enums
 
template<class T >
void dump (dump_t &o, const string &d, is_array ia, T &arg, int dims, size_t ncopies,...)
 handle arrays
 
template<class T >
void dump (dump_t &o, const string &d, is_const_static i, T arg)
 const static support
 
template<class T , class U >
void dump (dump_t &o, const string &d, is_const_static i, const T &, U)
 
template<class T >
void dump (dump_t &o, const string &d, Exclude< T > &)
 
template<class T >
void dump (dump_t &o, const string &d, shared_ptr< T > &a)
 
template<class T >
void dump_onbase (dump_t &x, const string &d, T &a)
 
template<class B >
enable_if< Not< is_fundamental< B > >, void >::T dumpp (dump_t &t, const string &d, B &a)
 
template<class T >
enable_if< is_container< T >, bool >::T is_basic_container ()
 
template<class T >
enable_if< Not< is_container< T > >, bool >::T is_basic_container ()
 
template<class T >
void isa (classdesc::isa_t &t, const classdesc::string &d, T &x)
 
template<class T >
void isa (classdesc::isa_t &t, const classdesc::string &d, const T &x)
 
template<class T , class U >
void isa (classdesc::isa_t &t, const classdesc::string &d, const T &x, const U &y)
 
template<class T , class U , class V >
void isa (classdesc::isa_t &t, classdesc::string d, const T &x, const U &y, const V &z,...)
 
template<class T >
void isa_onbase (isa_t &t, const string &d, T &a)
 
template<class T >
const char * javaClassName ()
 
template<>
const char * javaClassName< int > ()
 
template<>
const char * javaClassName< float > ()
 
template<class T >
getJavaVal (JNIEnv *env, jobject o)
 
template<>
int getJavaVal< int > (JNIEnv *env, jobject o)
 
template<>
float getJavaVal< float > (JNIEnv *env, jobject o)
 
template<>
std::string getJavaVal< std::string > (JNIEnv *env, jobject o)
 
template<class T >
getJavaVal (jvalue v)
 
template<>
bool getJavaVal< bool > (jvalue v)
 
template<>
char getJavaVal< char > (jvalue v)
 
template<>
unsigned short getJavaVal< unsigned short > (jvalue v)
 
template<>
short getJavaVal< short > (jvalue v)
 
template<>
int getJavaVal< int > (jvalue v)
 
template<>
long getJavaVal< long > (jvalue v)
 
template<>
float getJavaVal< float > (jvalue v)
 
template<>
double getJavaVal< double > (jvalue v)
 
template<class C , class M >
enable_if< is_member_function_pointer< M >, void >::T javaClass (javaClass_t &cl, const string &desc, C &obj, M mem)
 
template<class T , class B >
void javaClass (javaClass_t &cl, const string &desc, Object< T, B > &obj)
 
template<class T >
enable_if< is_fundamental< T >, void >::T javaClass (javaClass_t &cl, const string &desc, T &obj, dummy< 1 > d=0)
 
template<class T >
enable_if< is_leftOver< T >, void >::T javaClass (javaClass_t &cl, const string &desc, T &arg, dummy< 0 > d=0)
 
template<class T >
void javaClass (javaClass_t &cl, const string &d, const T &a)
 
template<class T >
void javaClass (javaClass_t &cl, const string &d, is_const_static i, T a)
 
template<class T >
void javaClass_onbase (javaClass_t &cl, const string &d, T a)
 
template<>
void dump (dump_t &buf, const string &d, const u8 &a)
 
template<>
void dump (dump_t &buf, const string &d, const u4 &a)
 
template<>
void dump (dump_t &buf, const string &d, const u2 &a)
 
template<>
void dump (dump_t &buf, const string &d, const u1 &a)
 
void dumpp (dump_t &buf, const string &d, cp_info &a)
 
void dumpp (dump_t &targ, const string &desc, struct attribute_info &arg)
 
template<class F >
std::string arg_description (F f)
 Return a concatenated string of argument descriptors.
 
template<class M >
enable_if< functional::is_function< M >, std::string >::T descriptor (dummy< 0 > d=0)
 
template<class S >
enable_if< is_fundamental< S >, std::string >::T descriptor (dummy< 2 > d=0)
 
template<class T >
void json_pack (json_pack_t &o, const string &d, T &a)
 forward declare generic json operations
 
template<class T >
void json_pack (json_pack_t &o, const string &d, const T &a)
 
template<class T >
void json_unpack (json_unpack_t &o, const string &d, T &a)
 
template<class T >
json_pack_toperator<< (json_pack_t &j, const T &a)
 
template<class T >
const json_unpack_toperator>> (const json_unpack_t &j, T &a)
 
json_spirit::mValue & json_find (json_spirit::mValue &x, std::string name)
 find an object named by name within the json object x
 
template<class T >
json_spirit::mValue valueof (T a)
 
template<class T >
getValue (const json_spirit::mValue &x)
 
json_spirit::mValue valueof (unsigned char a)
 
template<>
unsigned char getValue (const json_spirit::mValue &x)
 
json_spirit::mValue valueof (signed char a)
 
template<>
signed char getValue (const json_spirit::mValue &x)
 
json_spirit::mValue valueof (char a)
 
template<>
char getValue (const json_spirit::mValue &x)
 
json_spirit::mValue valueof (unsigned short a)
 
template<>
unsigned short getValue (const json_spirit::mValue &x)
 
json_spirit::mValue valueof (signed short a)
 
template<>
signed short getValue (const json_spirit::mValue &x)
 
json_spirit::mValue valueof (unsigned int a)
 
template<>
unsigned getValue (const json_spirit::mValue &x)
 
json_spirit::mValue valueof (unsigned long a)
 
template<>
unsigned long getValue (const json_spirit::mValue &x)
 
json_spirit::mValue valueof (long a)
 
template<>
long getValue (const json_spirit::mValue &x)
 
json_spirit::mValue valueof (float a)
 
template<>
float getValue (const json_spirit::mValue &x)
 
template<class T >
enable_if< Or< is_fundamental< T >, is_string< T > >, void >::T json_packp (json_unpack_t &o, const string &d, const T &a, dummy< 0 > dum=0)
 
template<class T >
enable_if< Or< is_fundamental< T >, is_string< T > >, void >::T json_unpackp (json_unpack_t &o, string d, T &a, dummy< 0 > dum=0)
 
template<class T >
void json_pack_isarray (json_spirit::mValue &jval, const T &val, std::vector< size_t > dims)
 
template<class T >
void json_pack (json_pack_t &o, const string &d, is_array ia, const T &a, int ndims, size_t ncopies,...)
 
template<class T >
void json_unpack_isarray (const json_spirit::mValue &jval, T &val, std::vector< size_t > dims)
 
template<class T >
void json_unpack (json_unpack_t &o, const string &d, is_array ia, T &a, int ndims, size_t ncopies,...)
 
template<class T >
void json_pack (json_pack_t &x, const string &d, Enum_handle< T > arg)
 
template<class T >
void json_unpack (json_unpack_t &x, const string &d, Enum_handle< T > arg)
 
template<class T >
enable_if< is_sequence< T >, void >::T json_unpackp (json_unpack_t &o, const string &d, T &a, dummy< 1 > dum=0)
 
template<class T1 , class T2 >
void json_pack (json_pack_t &o, const string &d, std::pair< T1, T2 > &a)
 
template<class T1 , class T2 >
void json_unpackp (json_unpack_t &o, const string &d, std::pair< T1, T2 > &a)
 
template<class T >
enable_if< Or< is_sequence< T >, is_associative_container< T > >, void >::T json_packp (json_pack_t &o, const string &d, const T &a, dummy< 1 > dum=0)
 
template<class T >
enable_if< is_associative_container< T >, void >::T json_unpackp (json_unpack_t &o, const string &d, T &a, dummy< 2 > dum=0)
 
template<class C , class T >
void json_pack (json_pack_t &targ, const string &desc, C &c, T arg)
 
template<class C , class T >
void json_unpack (json_unpack_t &targ, const string &desc, C &c, T arg)
 
template<class T >
void json_pack (json_pack_t &targ, const string &desc, is_const_static i, T arg)
 
template<class T >
void json_unpack (json_unpack_t &targ, const string &desc, is_const_static i, T arg)
 
template<class T , class U >
void json_pack (json_pack_t &, const string &, is_const_static, const T &, U)
 
template<class T , class U >
void json_unpack (json_unpack_t &, const string &, is_const_static, const T &, U)
 
template<class T >
void json_unpack (json_unpack_t &targ, const string &desc, const T &arg)
 
template<class T >
void json_pack (json_pack_t &targ, const string &desc, Exclude< T > &arg)
 
template<class T >
void json_unpack (json_unpack_t &targ, const string &desc, Exclude< T > &arg)
 
template<class T >
string json (const T &x)
 produce json string equivalent of object x
 
template<class T >
void json (T &x, const string &s)
 
template<class T >
void json_pack_onbase (json_pack_t &x, const string &d, T &a)
 
template<class T >
void json_unpack_onbase (json_unpack_t &x, const string &d, T &a)
 
template<class T >
enable_if< AllOtherJsonPackpTypes< T >, void >::T json_packp (json_pack_t &o, const string &d, T &a)
 
template<class T >
enable_if< AllOtherJsonPackpTypes< T >, void >::T json_unpackp (json_pack_t &o, const string &d, T &a, dummy< 3 > dum=0)
 
Factoryfactory ()
 
void register_with_factory (shared_ptr< object > o)
 
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<class T >
pack_toperator<< (pack_t &y, const T &x)
 
template<class T >
pack_toperator>> (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. More...
 
template<class T >
void pack (pack_t &targ, const string &desc, is_graphnode dum, const T &arg)
 serialise a graph structure More...
 
template<class T >
void unpack (pack_t &targ, const string &desc, is_graphnode dum, T &arg)
 unserialise a graph structure More...
 
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 T >
void pack (pack_t &, const string &, C &, T)
 
template<class C , class T >
void unpack (unpack_t &, const string &, C &, T)
 
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 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_graph (pack_t &buf, T &arg)
 
template<class T >
void unpack_graph (pack_t &buf, T &arg)
 
template<class T , class TT >
void dump (dump_t &t, const string &d, const poly< T, TT > &a)
 
template<class T >
void json_pack_smart_ptr (json_pack_t &x, const string &d, T &a, dummy< 1 > dum=0)
 
template<class T >
void json_unpack_smart_ptr (json_pack_t &x, const string &d, T &a, dummy< 1 > dum=0)
 
template<class T >
void pack_smart_ptr (pack_t &x, const string &d, const T &a, dummy< 1 > dum=0)
 
template<class T >
void unpack_smart_ptr (pack_t &x, const string &d, T &a, dummy< 1 > dum=0)
 
template<class T >
void random_init (random_init_t &, const string &, T &)
 
template<class T >
void random_initp (random_init_t &, const string &, const T &)
 
template<class T >
void random_init_normalise (T &)
 
template<class T >
enable_if< And< is_arithmetic< T >, Not< is_floating_point< T > > >, void >::T random_initp (random_init_t &r, const string &, T &a, dummy< 0 > dum=0)
 
template<class T >
enable_if< is_floating_point< T >, void >::T random_initp (random_init_t &r, const string &, T &a, dummy< 0 > dum=0)
 
template<>
void random_init (random_init_t &r, const string &, bool &a)
 
template<class T >
void random_init (random_init_t &r, const string &d, std::basic_string< T > &a)
 
template<class T >
void random_init (random_init_t &r, const string &d, is_array ia, const T &a, int ndims, size_t ncopies,...)
 
template<class T >
void random_init (random_init_t &r, const string &d, Enum_handle< T > arg)
 
template<class T >
enable_if< is_sequence< T >, void >::T random_initp (random_init_t &r, const string &d, T &a, dummy< 1 > dum=0)
 
template<class T1 , class T2 >
void random_init (random_init_t &r, const string &d, std::pair< T1, T2 > &a)
 
template<class T >
enable_if< is_associative_container< T >, void >::T random_initp (random_init_t &r, const string &d, T &a, dummy< 1 > dum=0)
 
template<class T >
void random_initp (random_init_t &, const string &, T *)
 
template<class C , class T >
void random_init (random_init_t &, const string &, C &, T)
 
template<class T >
void random_init (random_init_t &, const string &, is_const_static, T)
 
template<class T , class U >
void random_init (random_init_t &, const string &, is_const_static, const T &, U)
 
template<class T >
void random_init (random_init_t &targ, const string &desc, Exclude< T > &arg)
 
template<class T >
void random_init_onbase (random_init_t &targ, const string &desc, T &arg)
 
template<class T >
enable_if< AllOtherRandomInitTypes< T >, void >::T random_initp (random_init_t &r, const string &d, T &a, dummy< 3 > dum=0)
 
void * realloc (void *x, std::size_t s)
 
template<class T >
void json_pack_stringKeyMap (json_pack_t &j, const string &d, const StringKeyMap< T > &a)
 
template<class T >
void json_unpack_stringKeyMap (json_pack_t &j, const string &d, StringKeyMap< T > &a)
 
template<class T >
void xsd_generate (xsd_generate_t &g, const string &d, const StringKeyMap< T > &a)
 
template<class T >
enable_if< Not< is_const< T > >, std::string >::T integralTypeName ()
 
template<class T >
enable_if< And< Not< is_const< T > >, is_integral< T > >, std::string >::T typeNamep ()
 
template<class T >
enable_if< And< Not< is_const< T > >, Not< is_integral< T > > >, std::string >::T typeNamep ()
 
template<class T >
enable_if< is_const< T >, std::string >::T typeNamep ()
 
std::string idx (const std::string &prefix, size_t i)
 utility for generating index keys (for use with arrays)
 
std::string xml_quote (char c)
 
template<class T >
enable_if< is_fundamental< T >, void >::T xml_packp (xml_pack_t &x, const string &d, T &a)
 
template<>
void xml_packp (xml_pack_t &x, const string &d, bool &a)
 
template<class T >
enable_if< is_enum< T >, void >::T xml_packp (xml_pack_t &x, const string &d, T &arg)
 
template<class T >
enable_if< Or< is_sequence< T >, is_associative_container< T > >, void >::T xml_packp (xml_pack_t &x, const string &d, T &arg, dummy< 1 > dum=0)
 
template<class T >
void xml_pack_onbase (xml_pack_t &x, const string &d, T &a)
 
template<class T >
void xml_pack (xml_pack_t &targ, const string &desc, is_graphnode, T &)
 
bool Isspace (char c)
 
bool get (std::istream &i, char &c)
 
bool get (FILE *&i, char &c)
 
void unget (std::istream &i, char c)
 
void unget (FILE *&i, char c)
 
template<class T >
void xml_unpack_onbase (xml_unpack_t &x, const string &d, T &a)
 
template<class T >
enable_if< is_fundamental< T >, void >::T xml_unpackp (xml_unpack_t &x, const string &d, T &a)
 
template<class T >
enable_if< is_sequence< T >, void >::T xml_unpackp (xml_unpack_t &x, const string &d, T &arg, dummy< 1 > dum=0)
 
template<class T >
enable_if< is_associative_container< T >, void >::T xml_unpackp (xml_unpack_t &x, const string &d, T &arg, dummy< 2 > dum=0)
 
template<class T >
void xml_unpack (xml_unpack_t &targ, const string &desc, is_graphnode, T &)
 
string transformTypeName (string x)
 
template<class T >
string xsd_typeName ()
 
template<class T >
enable_if< EverythingElse< T >, void >::T xsd_generate (xsd_generate_t &g, const string &d, const T &a)
 
template<>
string xsd_typeName< bool > ()
 
template<>
string xsd_typeName< char > ()
 
template<>
string xsd_typeName< signed char > ()
 
template<>
string xsd_typeName< short > ()
 
template<>
string xsd_typeName< int > ()
 
template<>
string xsd_typeName< long > ()
 
template<>
string xsd_typeName< unsigned char > ()
 
template<>
string xsd_typeName< unsigned short > ()
 
template<>
string xsd_typeName< unsigned int > ()
 
template<>
string xsd_typeName< unsigned long > ()
 
template<>
string xsd_typeName< float > ()
 
template<>
string xsd_typeName< double > ()
 
template<>
string xsd_typeName< long double > ()
 
template<>
string xsd_typeName< string > ()
 
template<>
string xsd_typeName< std::wstring > ()
 
template<class T >
enable_if< is_fundamental< T >, void >::T xsd_generate (xsd_generate_t &g, const string &d, const T &a)
 
template<class T >
void xsd_generate (xsd_generate_t &g, const string &d, const std::basic_string< T > &a)
 
template<class T >
void xsd_generate (xsd_generate_t &g, const string &d, is_array ia, T &a, int dims, size_t ncopies,...)
 array handling
 
template<class E >
enable_if< is_enum< E >, void >::T xsd_generate (xsd_generate_t &g, const string &d, const E &arg)
 enum handling
 
template<class E >
void xsd_generate (xsd_generate_t &g, const string &d, const Enum_handle< E > &e)
 
template<class T >
enable_if< is_container< T >, void >::T xsd_generate (xsd_generate_t &g, const string &d, const T &e)
 
template<class T , class U >
void xsd_generate (xsd_generate_t &g, const string &d, const std::pair< T, U > &a)
 
template<class T >
void xsd_generate (xsd_generate_t &g, const string &d, const Exclude< T > &a)
 
template<class C , class T >
void xsd_generate (xsd_generate_t &g, const string &d, C &c, const T &a)
 
template<class T >
void xsd_generate (xsd_generate_t &g, const string &d, is_const_static, T a)
 
template<class T , class U >
void xsd_generate (xsd_generate_t &g, const string &d, is_const_static, const T &, U)
 
template<class T >
void xsd_generate (xsd_generate_t &g, const string &d, const shared_ptr< T > &a)
 
template<class T >
void xsd_generate_onbase (xsd_generate_t &g, const string &d, T a)
 
template<>
std::string typeName< bool > ()
 a string representation of the type
 
template<>
std::string typeName< char > ()
 
template<>
std::string typeName< short > ()
 
template<>
std::string typeName< int > ()
 
template<>
std::string typeName< long > ()
 
template<>
std::string typeName< signed char > ()
 
template<>
std::string typeName< unsigned char > ()
 
template<>
std::string typeName< unsigned short > ()
 
template<>
std::string typeName< unsigned int > ()
 
template<>
std::string typeName< unsigned long > ()
 
template<>
std::string typeName< float > ()
 
template<>
std::string typeName< double > ()
 
template<>
std::string typeName< long double > ()
 
template<>
std::string typeName< std::string > ()
 
template<>
std::string typeName< std::wstring > ()
 
template<class T , class U >
enable_if< is_integral< U >, T * >::T operator+ (U x, Exclude< T *> y)
 
template<class T >
std::ptrdiff_t operator- (const T *x, const Exclude< T *> y)
 
template<class T >
std::ptrdiff_t operator- (T *x, const Exclude< T *> y)
 
template<class T , class U >
mod (T x, U y)
 
template<class U >
float mod (float x, U y)
 
template<class U >
double mod (double x, U y)
 

Detailed Description

Contains definitions related to classdesc functionality.

Enumeration Type Documentation

◆ Ptr_flag [1/2]

What to do with pointers: throw an exception, use graphnode or treenode algorithm)

◆ Ptr_flag [2/2]

What to do with pointers: throw an exception, use graphnode or treenode algorithm)

Function Documentation

◆ json_pack()

template<class T >
void classdesc::json_pack ( json_pack_t x,
const string &  d,
Enum_handle< T >  arg 
)

handle enums

References json_pack().

◆ json_unpackp()

template<class T >
enable_if< is_sequence< T >, void >::T classdesc::json_unpackp ( json_unpack_t o,
const string &  d,
T &  a,
dummy< 1 >  dum = 0 
)

standard container handling

References json_find(), json_pack(), and classdesc::json_pack_t::throw_on_error.

◆ pack()

template<class T >
void classdesc::pack ( pack_t targ,
const string &  desc,
is_graphnode  dum,
const T &  arg 
)
inline

serialise a graph structure

can contain cycles

◆ random_init()

template<class T >
void classdesc::random_init ( random_init_t r,
const string &  d,
Enum_handle< T >  arg 
)

handle enums

References idx(), and classdesc::random_init_t::rand().

◆ random_init_normalise()

template<class T >
void classdesc::random_init_normalise ( T &  )

a post processing hook, allowing specialised postprocessing of the randomly initialised object to nromalised to a valid state

References random_init_normalise().

Referenced by classdesc::random_init_t::rand(), and random_init_normalise().

◆ random_initp()

template<class T >
enable_if<is_sequence<T>, void>::T classdesc::random_initp ( random_init_t r,
const string &  d,
T &  a,
dummy< 1 >  dum = 0 
)

standard container handling

References classdesc::random_init_t::rand().

◆ unpack() [1/2]

template<class T >
void classdesc::unpack ( unpack_t targ,
const string &  desc,
is_treenode  dum,
T *&  arg 
)
inline

unserialise a tree.

Serialised DAGs will be converted to a tree

Referenced by pack(), and classdesc::xml_unpack_t::unpack().

◆ unpack() [2/2]

template<class T >
void classdesc::unpack ( pack_t targ,
const string &  desc,
is_graphnode  dum,
T &  arg 
)
inline

unserialise a graph structure

can contain cycles

◆ xml_packp()

template<class T >
enable_if<is_enum<T>, void>::T classdesc::xml_packp ( xml_pack_t x,
const string &  d,
T &  arg 
)

handle enums

References classdesc::xml_pack_t::pack().