datatest.temp.h

00001 
00018 protocol_begin( ctl_classdef )
00019 
00020 container_array(FixIntTest,int32,128)
00021 container_vector(IntTest,int32)
00022 container_set(IntTest_set,int32)
00023 container_multiset(IntTest_multiset,int32)
00024 
00025 /* A structure */
00026 record_begin(sXY)
00027     record_var( y,  float32,    0.0 )
00028     record_var( x,  float32,    0.0 )
00029 record_end(sXY)
00030 
00031 /* Another structure */
00032 record_begin(sXYZ)
00033     record_var( z,  float32,    0.0 )
00034     record_var( y,  float32,    0.0 )
00035     record_var( x,  float32,    0.0 )
00036 record_end(sXYZ)
00037 
00038 /* What they're doing... */
00039 enum_begin( Doing )
00040     enum_item( doNothing )
00041     enum_item( doSitting )
00042     enum_item( doStanding )
00043     enum_item( doExploding )
00044 enum_end( Doing )
00045 
00046 /*
00047  * Define a union 
00048  * Unions always have an 'identity' control member to discriminate one
00049  * kind of data from others.  Union is the basis of protocols and data
00050  * where different kinds of data are switched by a type.
00051  *
00052  * Generally, having an 'invalid' or dummy type for the default type (0)
00053  * that a union will use is recommended, as this will result in less
00054  * 'extra work' during initialization.
00055  */
00056 union_begin( MyUnion, Doing )
00057     union_member(   mNothing,   int32,  doNothing )
00058     union_alias(                sXY,    doSitting )
00059     union_member(   mStanding,  sXY,    doStanding )
00060     union_member(   mSploding,  sXYZ,   doExploding )
00061 union_end( MyUnion, Doing )
00062 
00063 container_array(CompoundTest_array,sXY,128)
00064 container_vector(CompoundTest_vector,sXY)
00065 container_list(CompoundTest_list,sXYZ)
00066 container_map(CompoundTest_map,uint32,sXYZ)
00067 container_multimap(CompoundTest_multimap,uint32,sXYZ)
00068 
00069 /* A big compound to test lots of things */
00070 record_begin(MyClass)
00071     record_achar(   mstring,    char,       32, szconst(char,"Nothing special") )
00072     record_string(  mgstring,   char )
00073     record_achar(   mwstring,   wchar_t,    32, szconst(wchar_t,"Less special") )
00074     record_string(  mwgstring,  wchar_t )
00075     record_var( mbool,      bool,       false ) /* Various scalar types */
00076     record_var( mint8,      int8,       0 ) /* Various scalar types */
00077     record_var( muint8,     uint8,      1 )
00078     record_var( mint16,     int16,      2 )
00079     record_var( muint16,    uint16,     3 )
00080     record_var( mint32,     int32,      4 )
00081     record_var( muint32,    uint32,     5 )
00082     record_var( mint64,     int64,      6 )
00083     record_var( muint64,    uint64,     7 )
00084     record_var( mfloat32,   float32,    8.9 )
00085     record_var( mfloat64,   float64,    9.1 )
00086     record_array(mabool,    bool,       17,false ) /* Various fixed-length array types */
00087     record_array(maint8,    int8,       3,-1 ) 
00088     record_array(mauint8,   uint8,      3, 1 )
00089     record_array(maint16,   int16,      3, 2 )
00090     record_array(mauint16,  uint16,     3, 3 )
00091     record_array(maint32,   int32,      3, 4 )
00092     record_array(mauint32,  uint32,     3, 5 )
00093     record_array(maint64,   int64,      3, 6 )
00094     record_array(mauint64,  uint64,     3, 7 )
00095     record_array(mafloat32, float32,    3, 1.03 )
00096     record_array(mafloat64, float64,    3, 1.0 )
00097     record_varok(percent,   int8,       50,0,100 )
00098     record_arrayok(apercent,int8,       4,25,0,100 )
00099     record_enum(doing,      Doing,      doSitting ) /* Enumerated type */
00100     record_obj( xyz,        sXYZ    )       /* Compound types */
00101     record_ref( rxyz,       sXYZ    )
00102     record_preref(prxyz,    sXYZ    )
00103     record_objarray(axy,    sXY,        4 )
00104     record_obj( ints,       IntTest )
00105     record_obj( fints,      FixIntTest )
00106     record_obj( intset,     IntTest_set )
00107     record_obj( intmulti,   IntTest_multiset )
00108     record_obj( xyarray,    CompoundTest_array )
00109     record_obj( xyvec,      CompoundTest_vector )
00110     record_obj( xyzlist,    CompoundTest_list )
00111     record_obj( xyzmap,     CompoundTest_map )
00112     record_obj( xyzmmap,    CompoundTest_multimap )
00113     record_obj( utest,  MyUnion )       /* One of several enumerated types */
00114     record_serial(rawdata)
00115 record_end(MyClass)
00116 
00117 container_set(starmap,sXYZ)
00118 record_begin(Space)
00119     record_achar( name, char, 32, "unnamed" )
00120     record_obj( stars, starmap )
00121 record_end(Space)
00122 
00123 protocol_end(ctl_classdef)

Generated on Fri Jan 2 15:28:34 2009 for Squat by  doxygen 1.5.6