CLAM::ScopePool Class Reference
[Semantical Analysis]

A container for the attributes values along the differents contexts of a single scope. More...

#include <ScopePool.hxx>

List of all members.

Classes

class  AttributePoolStorageProxy

Public Types

typedef std::vector
< AttributePool
AttributesData

Public Member Functions

 ScopePool (const DescriptionScope &spec, unsigned size=0)
 ~ScopePool ()
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.
void Insert (unsigned pos)
void Remove (unsigned pos)
unsigned GetNAttributes () const
unsigned GetSize () const
void SetSize (unsigned newSize)
bool IsInstantiated (const std::string &attributeName) const
template<typename AttributeType >
const AttributeType * GetReadPool (const std::string &name) const
template<typename AttributeType >
AttributeType * GetWritePool (const std::string &name)

Friends

class AttributePoolStorageProxy

Detailed Description

A container for the attributes values along the differents contexts of a single scope.

Definition at line 41 of file ScopePool.hxx.


Member Typedef Documentation

Definition at line 66 of file ScopePool.hxx.


Constructor & Destructor Documentation

CLAM::ScopePool::ScopePool ( const DescriptionScope spec,
unsigned  size = 0 
) [inline]

Definition at line 72 of file ScopePool.hxx.

References CLAM::DescriptionScope::GetAttribute().

CLAM::ScopePool::~ScopePool (  ) 

Definition at line 5 of file ScopePool.cxx.


Member Function Documentation

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

Return the class name.

Implements CLAM::Component.

Definition at line 83 of file ScopePool.hxx.

unsigned CLAM::ScopePool::GetNAttributes (  )  const [inline]

Definition at line 149 of file ScopePool.hxx.

References CLAM::DescriptionScope::GetNAttributes().

template<typename AttributeType >
const AttributeType* CLAM::ScopePool::GetReadPool ( const std::string &  name  )  const [inline]
unsigned CLAM::ScopePool::GetSize (  )  const [inline]

Definition at line 153 of file ScopePool.hxx.

template<typename AttributeType >
AttributeType* CLAM::ScopePool::GetWritePool ( const std::string &  name  )  [inline]
void CLAM::ScopePool::Insert ( unsigned  pos  )  [inline]

Definition at line 115 of file ScopePool.hxx.

bool CLAM::ScopePool::IsInstantiated ( const std::string &  attributeName  )  const [inline]

Definition at line 162 of file ScopePool.hxx.

References CLAM::DescriptionScope::GetIndex().

void CLAM::ScopePool::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 97 of file ScopePool.hxx.

References AttributePoolStorageProxy, CLAM_ASSERT, CLAM::DescriptionScope::GetName(), and CLAM::Storage::Load().

void CLAM::ScopePool::Remove ( unsigned  pos  )  [inline]

Definition at line 125 of file ScopePool.hxx.

void CLAM::ScopePool::SetSize ( unsigned  newSize  )  [inline]

Definition at line 157 of file ScopePool.hxx.

void CLAM::ScopePool::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 84 of file ScopePool.hxx.

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


Friends And Related Function Documentation

friend class AttributePoolStorageProxy [friend]

Definition at line 43 of file ScopePool.hxx.

Referenced by LoadFrom().


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