CLAM::AbstractAttribute Class Reference
[Semantical Analysis]

Defines the interface for an Attribute definition in a DescriptionScheme. More...

#include <DescriptionAttributes.hxx>

List of all members.

Public Member Functions

 AbstractAttribute (const std::string &attributeName)
 AbstractAttribute (const std::string &scopeName, const std::string &attributeName)
virtual ~AbstractAttribute ()
const char * GetClassName () const
 Return the class name.
void StoreOn (Storage &storage) const
 Stores component's subitems on the given Storage.
void LoadFrom (Storage &storage)
 Loads component's subitems from the given Storage.
const std::string & GetName () const
 Returns the attribute name.
const std::string & GetScope () const
 Returns the scope name.
virtual void * Allocate (unsigned size) const =0
 Allocates and construct 'size' elements for the attribute.
virtual void Deallocate (void *data) const =0
 Destroys and deallocates the elements pointed by 'data'.
virtual void Insert (void *data, unsigned pos) const =0
 Inserts an element at position pos.
virtual void Remove (void *data, unsigned pos) const =0
 Removes an element at position pos.
virtual void XmlDumpData (Storage &storage, const void *data, unsigned size) const =0
 Dumps the 'data' into the storage.
virtual void XmlRestoreData (Storage &storage, void *data, unsigned size) const =0
 Restore the 'data' from the storage.
virtual void XmlDumpSchemaType (Storage &storage) const =0
 Dumps the type definition for the attribute into the storage.
template<typename TypeToCheck >
void CheckType () const
 Asserts false whenever TypeToCheck is not the one that the attribute contains.

Protected Member Functions

virtual const std::type_info & TypeInfo () const =0
 Returns the type_info for the attribute type.

Detailed Description

Defines the interface for an Attribute definition in a DescriptionScheme.

It offers a type independent interface to do type dependent operations defined on the specialization of the Attribute template.

Definition at line 43 of file DescriptionAttributes.hxx.


Constructor & Destructor Documentation

CLAM::AbstractAttribute::AbstractAttribute ( const std::string &  attributeName  )  [inline]

Definition at line 46 of file DescriptionAttributes.hxx.

CLAM::AbstractAttribute::AbstractAttribute ( const std::string &  scopeName,
const std::string &  attributeName 
) [inline]

Definition at line 48 of file DescriptionAttributes.hxx.

CLAM::AbstractAttribute::~AbstractAttribute (  )  [virtual]

Definition at line 5 of file DescriptionAttributes.cxx.


Member Function Documentation

virtual void* CLAM::AbstractAttribute::Allocate ( unsigned  size  )  const [pure virtual]

Allocates and construct 'size' elements for the attribute.

Implemented in CLAM::Attribute< AttributeType >.

template<typename TypeToCheck >
void CLAM::AbstractAttribute::CheckType (  )  const [inline]

Asserts false whenever TypeToCheck is not the one that the attribute contains.

Definition at line 91 of file DescriptionAttributes.hxx.

References CLAM_ASSERT, and TypeInfo().

virtual void CLAM::AbstractAttribute::Deallocate ( void *  data  )  const [pure virtual]

Destroys and deallocates the elements pointed by 'data'.

Implemented in CLAM::Attribute< AttributeType >.

const char* CLAM::AbstractAttribute::GetClassName (  )  const [inline, virtual]

Return the class name.

Implements CLAM::Component.

Definition at line 52 of file DescriptionAttributes.hxx.

const std::string& CLAM::AbstractAttribute::GetName (  )  const [inline]
const std::string& CLAM::AbstractAttribute::GetScope (  )  const [inline]

Returns the scope name.

Definition at line 70 of file DescriptionAttributes.hxx.

Referenced by CLAM::Attribute< AttributeType >::XmlRestoreData().

virtual void CLAM::AbstractAttribute::Insert ( void *  data,
unsigned  pos 
) const [pure virtual]

Inserts an element at position pos.

Implemented in CLAM::Attribute< AttributeType >.

void CLAM::AbstractAttribute::LoadFrom ( Storage storage  )  [inline, virtual]

Loads component's subitems from the given Storage.

Parameters:
storage The given storage where the subitem will be loaded from
See also:
Storage

Implements CLAM::Component.

Definition at line 63 of file DescriptionAttributes.hxx.

virtual void CLAM::AbstractAttribute::Remove ( void *  data,
unsigned  pos 
) const [pure virtual]

Removes an element at position pos.

Implemented in CLAM::Attribute< AttributeType >.

void CLAM::AbstractAttribute::StoreOn ( Storage storage  )  const [inline, virtual]

Stores component's subitems on the given Storage.

Parameters:
storage The given storage where the subitem will be stored
See also:
Storage

Implements CLAM::Component.

Definition at line 53 of file DescriptionAttributes.hxx.

References CLAM::Storage::Store(), and XmlDumpSchemaType().

virtual const std::type_info& CLAM::AbstractAttribute::TypeInfo (  )  const [protected, pure virtual]

Returns the type_info for the attribute type.

Implemented in CLAM::Attribute< AttributeType >.

Referenced by CheckType().

virtual void CLAM::AbstractAttribute::XmlDumpData ( Storage storage,
const void *  data,
unsigned  size 
) const [pure virtual]

Dumps the 'data' into the storage.

Implemented in CLAM::Attribute< AttributeType >.

virtual void CLAM::AbstractAttribute::XmlDumpSchemaType ( Storage storage  )  const [pure virtual]

Dumps the type definition for the attribute into the storage.

Implemented in CLAM::Attribute< AttributeType >.

Referenced by StoreOn().

virtual void CLAM::AbstractAttribute::XmlRestoreData ( Storage storage,
void *  data,
unsigned  size 
) const [pure virtual]

Restore the 'data' from the storage.

Implemented in CLAM::Attribute< AttributeType >.


The documentation for this class was generated from the following files:
Generated by  doxygen 1.6.3