OEBaseData is an abstract class which defines the interface necessary for storage, retrieval, and duplication of data stored through the generic data interface in the OEBase class. Data stored in classes derived from OEBaseData is identified through data tags. The ability to perform run-time type checking is also built into the class.
The following classes derive from this class:
OEBaseData(unsigned int tag)
Constructs and instance of OEBaseData and set the data identifier tag upon construction.
OEBaseData *CreateCopy() const =0
This pure virtual copy constructor should return a deep copy of the OEBaseData object. The copy of the object returned is not memory-managed by the parent instance. It is the responsibility of the programmer to manage the memory created and returned by this method.
const void *GetDataType() const =0
This pure virtual method returns a unique type identifier for
the data type being stored. The return value of the method is
equivalent to the return value of
for the stored type.
unsigned int GetSize() const =0
This pure virtual method is used to return the number of elements if the data stored in an OEBaseData derived class is an array.
The value returned is the number of elements in the array, not the number of bytes occupied by the data.
unsigned int GetTag() const
Returns the integer data tag with which the data was stored.