CLAM::Attribute< AttributeType > Class Template Reference
[Semantical Analysis]

This class is the concrete implementation for AbstractAttribute for a given type of attributes. More...

#include <DescriptionAttributes.hxx>

List of all members.

Public Types

typedef AttributeType DataType

Public Member Functions

 Attribute (const std::string &attributeName)
 Attribute (const std::string &scopeName, const std::string &attributeName)
virtual void * Allocate (unsigned size) const
 Allocates and construct 'size' elements for the attribute.
virtual void Deallocate (void *data) const
 Destroys and deallocates the elements pointed by 'data'.
virtual void Insert (void *data, unsigned pos) const
 Inserts an element at position pos.
virtual void Remove (void *data, unsigned pos) const
 Removes an element at position pos.
virtual void XmlDumpData (Storage &storage, const void *data, unsigned size) const
 Dumps the 'data' into the storage.
virtual void XmlRestoreData (Storage &storage, void *data, unsigned size) const
 Restore the 'data' from the storage.
void XmlDumpSchemaType (Storage &storage) const
 Dumps the type definition for the attribute into the storage.

Protected Member Functions

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

Detailed Description

template<typename AttributeType>
class CLAM::Attribute< AttributeType >

This class is the concrete implementation for AbstractAttribute for a given type of attributes.

It implements functionalities that are type dependant in an attribute.

Definition at line 115 of file DescriptionAttributes.hxx.


Member Typedef Documentation

template<typename AttributeType >
typedef AttributeType CLAM::Attribute< AttributeType >::DataType

Definition at line 122 of file DescriptionAttributes.hxx.


Constructor & Destructor Documentation

template<typename AttributeType >
CLAM::Attribute< AttributeType >::Attribute ( const std::string &  attributeName  )  [inline]

Definition at line 118 of file DescriptionAttributes.hxx.

template<typename AttributeType >
CLAM::Attribute< AttributeType >::Attribute ( const std::string &  scopeName,
const std::string &  attributeName 
) [inline]

Definition at line 120 of file DescriptionAttributes.hxx.


Member Function Documentation

template<typename AttributeType >
virtual void* CLAM::Attribute< AttributeType >::Allocate ( unsigned  size  )  const [inline, virtual]

Allocates and construct 'size' elements for the attribute.

Implements CLAM::AbstractAttribute.

Definition at line 123 of file DescriptionAttributes.hxx.

template<typename AttributeType >
virtual void CLAM::Attribute< AttributeType >::Deallocate ( void *  data  )  const [inline, virtual]

Destroys and deallocates the elements pointed by 'data'.

Implements CLAM::AbstractAttribute.

Definition at line 127 of file DescriptionAttributes.hxx.

template<typename AttributeType >
virtual void CLAM::Attribute< AttributeType >::Insert ( void *  data,
unsigned  pos 
) const [inline, virtual]

Inserts an element at position pos.

Implements CLAM::AbstractAttribute.

Definition at line 131 of file DescriptionAttributes.hxx.

template<typename AttributeType >
virtual void CLAM::Attribute< AttributeType >::Remove ( void *  data,
unsigned  pos 
) const [inline, virtual]

Removes an element at position pos.

Implements CLAM::AbstractAttribute.

Definition at line 136 of file DescriptionAttributes.hxx.

template<typename AttributeType >
virtual const std::type_info& CLAM::Attribute< AttributeType >::TypeInfo (  )  const [inline, protected, virtual]

Returns the type_info for the attribute type.

Implements CLAM::AbstractAttribute.

Definition at line 220 of file DescriptionAttributes.hxx.

template<typename AttributeType >
virtual void CLAM::Attribute< AttributeType >::XmlDumpData ( Storage storage,
const void *  data,
unsigned  size 
) const [inline, virtual]

Dumps the 'data' into the storage.

Implements CLAM::AbstractAttribute.

Definition at line 141 of file DescriptionAttributes.hxx.

References CLAM::AbstractAttribute::GetName(), and CLAM::Storage::Store().

template<typename AttributeType >
void CLAM::Attribute< AttributeType >::XmlDumpSchemaType ( Storage storage  )  const [inline, virtual]

Dumps the type definition for the attribute into the storage.

Implements CLAM::AbstractAttribute.

Definition at line 159 of file DescriptionAttributes.hxx.

References CLAM::Storage::Store().

template<typename AttributeType >
virtual void CLAM::Attribute< AttributeType >::XmlRestoreData ( Storage storage,
void *  data,
unsigned  size 
) const [inline, virtual]

Restore the 'data' from the storage.

Implements CLAM::AbstractAttribute.

Definition at line 148 of file DescriptionAttributes.hxx.

References CLAM_ASSERT, CLAM::AbstractAttribute::GetName(), CLAM::AbstractAttribute::GetScope(), and CLAM::Storage::Load().


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