Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

osg::FieldTraitsRecurseBase1< FieldTypeT > Struct Template Reference
[Field Data Traits]

#include <OSGFieldDataType.h>

Inheritance diagram for osg::FieldTraitsRecurseBase1< FieldTypeT >:

osg::FieldTraits List of all members.

Public Types

typedef osgIF< uiTest==1,
const FieldTypeT, const FieldTypeT
& >::_IRet 
ArgumentType
enum  { bHasParent = 0x00 }
enum  { ToStringConvertable = 0x01, FromStringConvertable = 0x02 }

Static Public Member Functions

static UInt32 getBinSize (const FieldTypeT &oObject)
static UInt32 getBinSize (const FieldTypeT *pObjectStore, UInt32 uiNumObjects)
static void copyToBin (BinaryDataHandler &pMem, const FieldTypeT &oObject)
static void copyToBin (BinaryDataHandler &pMem, const FieldTypeT *pObjectStore, UInt32 uiNumObjects)
static void copyFromBin (BinaryDataHandler &pMem, FieldTypeT &oObject)
static void copyFromBin (BinaryDataHandler &pMem, FieldTypeT *pObjectStore, UInt32 uiNumObjects)
static bool getFromString (FieldTypeT &outVal, const Char8 *inVal)
static void putToString (const FieldTypeT &inVal, std::string &outStr)
static const Char8getPName (void)

Static Public Attributes

static const UInt32 uiTest = TypeTraits<FieldTypeT>::IsPOD == true

Detailed Description

template<class FieldTypeT>
struct osg::FieldTraitsRecurseBase1< FieldTypeT >

Definition at line 237 of file OSGFieldDataType.h.


Member Typedef Documentation

template<class FieldTypeT>
typedef osgIF<uiTest == 1, const FieldTypeT , const FieldTypeT & >::_IRet osg::FieldTraitsRecurseBase1< FieldTypeT >::ArgumentType
 

Definition at line 247 of file OSGFieldDataType.h.


Member Enumeration Documentation

template<class FieldTypeT>
anonymous enum
 

Enumerator:
bHasParent 

Definition at line 239 of file OSGFieldDataType.h.

00239 { bHasParent = 0x00 };

anonymous enum [inherited]
 

Enumerator:
ToStringConvertable 
FromStringConvertable 

Definition at line 69 of file OSGFieldDataType.h.

00070     {
00071         ToStringConvertable   = 0x01,
00072         FromStringConvertable = 0x02
00073     };


Member Function Documentation

template<class FieldTypeT>
static UInt32 osg::FieldTraitsRecurseBase1< FieldTypeT >::getBinSize const FieldTypeT &  oObject  )  [inline, static]
 

Definition at line 255 of file OSGFieldDataType.h.

00256     {
00257         typedef FieldDataTraits1<FieldTypeT> MappedTrait;
00258 
00259         std::string value;
00260 
00261         MappedTrait::putToString(oObject, value);
00262 
00263         return value.length() + 1 + sizeof(UInt32);
00264     }

template<class FieldTypeT>
static UInt32 osg::FieldTraitsRecurseBase1< FieldTypeT >::getBinSize const FieldTypeT *  pObjectStore,
UInt32  uiNumObjects
[inline, static]
 

Definition at line 266 of file OSGFieldDataType.h.

00268     {
00269         typedef FieldDataTraits1<FieldTypeT> MappedTrait;
00270 
00271         UInt32 size = 0;
00272 
00273         for(UInt32 i = 0; i < uiNumObjects; ++i)
00274         {
00275             size += MappedTrait::getBinSize(pObjectStore[i]);
00276         }
00277 
00278         return size;
00279     }

template<class FieldTypeT>
static void osg::FieldTraitsRecurseBase1< FieldTypeT >::copyToBin BinaryDataHandler pMem,
const FieldTypeT &  oObject
[inline, static]
 

Definition at line 281 of file OSGFieldDataType.h.

00283     {
00284         typedef FieldDataTraits1<FieldTypeT> MappedTrait;
00285         
00286         std::string value;
00287 
00288         MappedTrait::putToString(oObject, value);
00289 
00290         pMem.putValue(value);
00291     }

template<class FieldTypeT>
static void osg::FieldTraitsRecurseBase1< FieldTypeT >::copyToBin BinaryDataHandler pMem,
const FieldTypeT *  pObjectStore,
UInt32  uiNumObjects
[inline, static]
 

Definition at line 294 of file OSGFieldDataType.h.

00297     {
00298         typedef FieldDataTraits1<FieldTypeT> MappedTrait;
00299 
00300         // defaut: copy each element
00301         for(UInt32 i = 0; i < uiNumObjects; ++i)
00302         {
00303             MappedTrait::copyToBin(pMem, pObjectStore[i]);
00304         }
00305     }

template<class FieldTypeT>
static void osg::FieldTraitsRecurseBase1< FieldTypeT >::copyFromBin BinaryDataHandler pMem,
FieldTypeT &  oObject
[inline, static]
 

Definition at line 307 of file OSGFieldDataType.h.

00309     {
00310         typedef FieldDataTraits1<FieldTypeT> MappedTrait;
00311 
00312         const Char8 *c = NULL;
00313 
00314         std::string value;
00315 
00316         pMem.getValue(value);
00317         c = value.c_str();
00318         MappedTrait::getFromString(oObject, c);
00319     }

template<class FieldTypeT>
static void osg::FieldTraitsRecurseBase1< FieldTypeT >::copyFromBin BinaryDataHandler pMem,
FieldTypeT *  pObjectStore,
UInt32  uiNumObjects
[inline, static]
 

Definition at line 321 of file OSGFieldDataType.h.

00324     {
00325         typedef FieldDataTraits1<FieldTypeT> MappedTrait;
00326 
00327         // defaut: copy each element
00328         for(UInt32 i = 0; i < uiNumObjects; ++i)
00329         {
00330             MappedTrait::copyFromBin(pMem, pObjectStore[i]);
00331         }
00332     }

template<class FieldTypeT>
static bool osg::FieldTraitsRecurseBase1< FieldTypeT >::getFromString FieldTypeT &  outVal,
const Char8 inVal
[inline, static]
 

Reimplemented in osg::FieldDataTraits1< GLXContext >.

Definition at line 334 of file OSGFieldDataType.h.

00336     {
00337         typedef FieldDataTraits1<FieldTypeT> MappedTrait;
00338 
00339         return MappedTrait::getFromString(outVal, inVal);
00340     }

template<class FieldTypeT>
static void osg::FieldTraitsRecurseBase1< FieldTypeT >::putToString const FieldTypeT &  inVal,
std::string &  outStr
[inline, static]
 

Reimplemented in osg::FieldDataTraits1< GLXContext >.

Definition at line 342 of file OSGFieldDataType.h.

00344     {
00345         typedef FieldDataTraits1<FieldTypeT> MappedTrait;
00346 
00347         MappedTrait::putToString(inVal, outStr);
00348     }

static const Char8* osg::FieldTraits::getPName void   )  [inline, static, inherited]
 

Definition at line 75 of file OSGFieldDataType.h.

00075 { return "Field"; }


Member Data Documentation

template<class FieldTypeT>
const UInt32 osg::FieldTraitsRecurseBase1< FieldTypeT >::uiTest = TypeTraits<FieldTypeT>::IsPOD == true [static]
 

Definition at line 242 of file OSGFieldDataType.h.


The documentation for this struct was generated from the following file:
Generated on Thu Aug 25 04:12:39 2005 for OpenSG by  doxygen 1.4.3