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
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
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
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
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.