In file basictypes.h:

class XxxCoreADTClass : public XxxADTClass

// The basic types have dummy ADTClass objects just to specify their // names, and keep some of the code uniform

Inheritance:


Public Classes

class BasicStats : public XxxADTClass::TypeStats
Statistics root class for CORE ADTs

Public Methods

virtual XxxBool CanCastFrom (XxxBasicType SourceType, const XxxADTMetaInfo* SourceMetaInfo, const XxxADTMetaInfo* TargetMetaInfo)
Determines if this ADT can cast an object of another type into its own type
virtual XxxBool CanCastTo (XxxBasicType TargetType, const XxxADTMetaInfo* SourceMetaInfo, const XxxADTMetaInfo* TargetMetaInfo)
Determines if this ADT can cast an object of its type into another type
virtual XxxErrCode CastFrom (XxxBasicType SourceType, const XxxADTMetaInfo* SourceMetaInfo, const XxxADTMetaInfo* TargetMetaInfo, XxxADTValue* OldObject, XxxADTValue* NewObject)
Executes a cast from another type into this type
virtual XxxErrCode CastTo (XxxBasicType TargetType, const XxxADTMetaInfo* SourceMetaInfo, const XxxADTMetaInfo* TargetMetaInfo, XxxADTValue* OldObject, XxxADTValue* NewObject)
Executes a cast from this type into another type
virtual XxxErrCode CopyHToN (const XxxADTValue* SrcObject, XxxADTValue *ResultObject, const XxxADTMetaInfo* MetaInfo)
Never gets called for core types
virtual XxxErrCode CopyNToH (const XxxADTValue* SrcObject, XxxADTValue *ResultObject, const XxxADTMetaInfo* MetaInfo)
Never gets called for core types
virtual XxxErrCode DefaultVal (XxxADTValue* Object, const XxxADTMetaInfo* MetaInfo)
Assigns a "default" value, if any exists
static inline XxxBool IsCoreADT (XxxBasicType TypeId)
/ Is TypeId a CoreADT?
static inline XxxBool SEquals (XxxBasicType TypeId, const XxxADTValue* Obj1, const XxxADTMetaInfo* MI1, const XxxADTValue* Obj2, const XxxADTMetaInfo* MI2)
/ Are the two values equal?
static inline int ValueOffset (XxxBasicType TypeId)
This is used to find the offset of the actual value of a core value

Documentation

The basic types have dummy ADTClass objects just to specify their names, and keep some of the code uniform. however, during execution, // these types are special-cased, so all the methods of these types are // empty
class BasicStats: public XxxADTClass::TypeStats
Statistics root class for CORE ADTs

static inline XxxBool IsCoreADT(XxxBasicType TypeId)
/ Is TypeId a CoreADT?

static inline int ValueOffset(XxxBasicType TypeId)
This is used to find the offset of the actual value of a core value. It is insufficient to use sizeof, since the compiler might align doubles to 8-byte boundaries.

static inline XxxBool SEquals(XxxBasicType TypeId, const XxxADTValue* Obj1, const XxxADTMetaInfo* MI1, const XxxADTValue* Obj2, const XxxADTMetaInfo* MI2)
/ Are the two values equal?

virtual XxxErrCode DefaultVal(XxxADTValue* Object, const XxxADTMetaInfo* MetaInfo)
Assigns a "default" value, if any exists

virtual XxxBool CanCastFrom(XxxBasicType SourceType, const XxxADTMetaInfo* SourceMetaInfo, const XxxADTMetaInfo* TargetMetaInfo)
Determines if this ADT can cast an object of another type into its own type
Parameters:
SourceType - The type to cast from
SourceMetaInfo - The meta info of the object to be casted
TargetMetaInfo - The meta info of the new object to be created

virtual XxxErrCode CastFrom(XxxBasicType SourceType, const XxxADTMetaInfo* SourceMetaInfo, const XxxADTMetaInfo* TargetMetaInfo, XxxADTValue* OldObject, XxxADTValue* NewObject)
Executes a cast from another type into this type
Parameters:
CastType - The type id of the old object
SourceMetaInfo - The meta info of the object to be casted
TargetMetaInfo - The meta info of the new object to be created
OldObject - The object to be casted
NewObject - The new object to be created

virtual XxxBool CanCastTo(XxxBasicType TargetType, const XxxADTMetaInfo* SourceMetaInfo, const XxxADTMetaInfo* TargetMetaInfo)
Determines if this ADT can cast an object of its type into another type
Parameters:
TargetType - The type to cast to
SourceMetaInfo - The meta info of the object to be casted
TargetMetaInfo - The meta info of the new object to be created

virtual XxxErrCode CastTo(XxxBasicType TargetType, const XxxADTMetaInfo* SourceMetaInfo, const XxxADTMetaInfo* TargetMetaInfo, XxxADTValue* OldObject, XxxADTValue* NewObject)
Executes a cast from this type into another type
Parameters:
CastType - The type id of the new object
SourceMetaInfo - The meta info of the object to be casted
TargetMetaInfo - The meta info of the new object to be created
OldObject - The object to be casted
NewObject - The new object to be created

virtual XxxErrCode CopyHToN(const XxxADTValue* SrcObject, XxxADTValue *ResultObject, const XxxADTMetaInfo* MetaInfo)
Never gets called for core types

virtual XxxErrCode CopyNToH(const XxxADTValue* SrcObject, XxxADTValue *ResultObject, const XxxADTMetaInfo* MetaInfo)
Never gets called for core types


Direct child classes:
XxxMIBlobADT
XxxIntADT
XxxGenFuncADTClass
XxxDoubleADT
XxxBooleanADT

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de