FREE::CollectionBase< TElement, TStorageType > Class Template Reference

Template class for all kind of collections. More...

#include <freCollectionBase.h>

Inheritance diagram for FREE::CollectionBase< TElement, TStorageType >:

Inheritance graph
FREE::SmartCollectionBase\< FREE::ComponentMediaLink \>FREE::SmartCollectionBase\< FREE::ComponentSetup \>FREE::SmartCollectionBase\< FREE::CtrlProfile::Parameter \>FREE::SmartCollectionBase\< FREE::SetupParameterConstraint \>FREE::KeyedCollectionBase\< std::string, FREE::ComponentMediaLink, FREE::ComponentMediaLinkIdentifier \>FREE::KeyedCollectionBase\< std::string, FREE::ComponentSetup, FREE::ComponentSetupIdentifier \>FREE::KeyedCollectionBase\< std::string, FREE::CtrlProfile::Parameter, FREE::CtrlProfile::ProfileParameterIdentifier \>
[legend]

List of all members.

Public Types

typedef TElement ElementType
typedef TStorageType StorageType
typedef std::vector
< StorageType
ElementVectorType
typedef
ElementVectorType::size_type 
ElementsCountType

Public Member Functions

virtual const char * GetNameOfClass () const
 CollectionBase ()
 CollectionBase (const CollectionBase< ElementType > &rCollection)
virtual ~CollectionBase ()
virtual void Reset ()
virtual CollectionBaseoperator= (const CollectionBase &rCollection)
virtual CollectionBaseoperator+ (const CollectionBase &collection)
virtual ElementTypeGetElement (const ElementsCountType &index) const
ElementsCountType Size () const
virtual void DeleteElement (const ElementsCountType &index)
virtual ElementsCountType AddElement (ElementType *pElement)
virtual ElementsCountType AddElement (const ElementType &element)=0
void AddElements (const CollectionBase &collection)

Static Public Attributes

static const
ElementsCountType 
NULL_Index = -1

Protected Attributes

ElementVectorType m_Elements


Detailed Description

template<class TElement, class TStorageType = TElement*>
class FREE::CollectionBase< TElement, TStorageType >

Template class for all kind of collections.

Storage type for all kind of collections. By default it stores the elements as pointer in the vector but doesn't (!) deallocate them when they are removed from the collection.

Definition at line 41 of file freCollectionBase.h.


Member Typedef Documentation

template<class TElement, class TStorageType = TElement*>
typedef TElement FREE::CollectionBase< TElement, TStorageType >::ElementType

Reimplemented in FREE::KeyedCollectionBase< TKey, TElement, TIdentifierClass >, FREE::SmartCollectionBase< TElement >, FREE::XMLCollectionBase< TXMLElement >, FREE::XMLKeyedCollectionBase< TKey, TXMLElement, TIdentifierClass >, FREE::KeyedCollectionBase< std::string, FREE::CtrlProfile::Parameter, FREE::CtrlProfile::ProfileParameterIdentifier >, FREE::KeyedCollectionBase< std::string, TCache, FREE::ComponentCacheIdentifier< TCache > >, FREE::KeyedCollectionBase< std::string, FREE::ComponentSetup, FREE::ComponentSetupIdentifier >, FREE::KeyedCollectionBase< TKey, TXMLElement, TIdentifierClass >, FREE::KeyedCollectionBase< std::string, FREE::ComponentMediaLink, FREE::ComponentMediaLinkIdentifier >, FREE::KeyedCollectionBase< std::string, FREE::CtrlProfile::SubComponent, FREE::CtrlProfile::ProfileSubCompIdentifier >, FREE::KeyedCollectionBase< std::string, FREE::CtrlProfile::Media, FREE::CtrlProfile::MediaIdentifierBase >, FREE::SmartCollectionBase< TCache >, FREE::SmartCollectionBase< TXMLElement >, FREE::SmartCollectionBase< FREE::SetupParameterConstraint >, FREE::SmartCollectionBase< FREE::ComponentSetup >, FREE::SmartCollectionBase< FREE::CtrlProfile::SubComponent >, FREE::SmartCollectionBase< FREE::CtrlProfile::ProfileOption >, FREE::SmartCollectionBase< FREE::CtrlProfile::Parameter >, FREE::SmartCollectionBase< FREE::Adaptation::Adaptation >, FREE::SmartCollectionBase< FREE::ComponentMediaLink >, FREE::SmartCollectionBase< FREE::CtrlProfile::ProfileRequirement >, FREE::SmartCollectionBase< FREE::Adaptation::AdaptationComponent >, FREE::SmartCollectionBase< FREE::CtrlProfile::Media >, FREE::XMLCollectionBase< FREE::CtrlProfile::ProfileOption >, FREE::XMLCollectionBase< FREE::Adaptation::Adaptation >, FREE::XMLCollectionBase< FREE::CtrlProfile::ProfileRequirement >, FREE::XMLCollectionBase< FREE::Adaptation::AdaptationComponent >, FREE::XMLKeyedCollectionBase< std::string, FREE::CtrlProfile::Parameter, FREE::CtrlProfile::ProfileParameterIdentifier >, FREE::XMLKeyedCollectionBase< std::string, FREE::ComponentSetup, FREE::ComponentSetupIdentifier >, FREE::XMLKeyedCollectionBase< std::string, FREE::ComponentMediaLink, FREE::ComponentMediaLinkIdentifier >, FREE::XMLKeyedCollectionBase< std::string, FREE::CtrlProfile::SubComponent, FREE::CtrlProfile::ProfileSubCompIdentifier >, and FREE::XMLKeyedCollectionBase< std::string, FREE::CtrlProfile::Media, FREE::CtrlProfile::MediaIdentifierBase >.

Definition at line 44 of file freCollectionBase.h.

template<class TElement, class TStorageType = TElement*>
typedef TStorageType FREE::CollectionBase< TElement, TStorageType >::StorageType

Reimplemented in FREE::SmartCollectionBase< TElement >, FREE::SmartCollectionBase< TCache >, FREE::SmartCollectionBase< TXMLElement >, FREE::SmartCollectionBase< FREE::SetupParameterConstraint >, FREE::SmartCollectionBase< FREE::ComponentSetup >, FREE::SmartCollectionBase< FREE::CtrlProfile::SubComponent >, FREE::SmartCollectionBase< FREE::CtrlProfile::ProfileOption >, FREE::SmartCollectionBase< FREE::CtrlProfile::Parameter >, FREE::SmartCollectionBase< FREE::Adaptation::Adaptation >, FREE::SmartCollectionBase< FREE::ComponentMediaLink >, FREE::SmartCollectionBase< FREE::CtrlProfile::ProfileRequirement >, FREE::SmartCollectionBase< FREE::Adaptation::AdaptationComponent >, and FREE::SmartCollectionBase< FREE::CtrlProfile::Media >.

Definition at line 45 of file freCollectionBase.h.

template<class TElement, class TStorageType = TElement*>
typedef std::vector<StorageType> FREE::CollectionBase< TElement, TStorageType >::ElementVectorType

Reimplemented in FREE::KeyedCollectionBase< TKey, TElement, TIdentifierClass >, FREE::SmartCollectionBase< TElement >, FREE::XMLCollectionBase< TXMLElement >, FREE::XMLKeyedCollectionBase< TKey, TXMLElement, TIdentifierClass >, FREE::KeyedCollectionBase< std::string, FREE::CtrlProfile::Parameter, FREE::CtrlProfile::ProfileParameterIdentifier >, FREE::KeyedCollectionBase< std::string, TCache, FREE::ComponentCacheIdentifier< TCache > >, FREE::KeyedCollectionBase< std::string, FREE::ComponentSetup, FREE::ComponentSetupIdentifier >, FREE::KeyedCollectionBase< TKey, TXMLElement, TIdentifierClass >, FREE::KeyedCollectionBase< std::string, FREE::ComponentMediaLink, FREE::ComponentMediaLinkIdentifier >, FREE::KeyedCollectionBase< std::string, FREE::CtrlProfile::SubComponent, FREE::CtrlProfile::ProfileSubCompIdentifier >, FREE::KeyedCollectionBase< std::string, FREE::CtrlProfile::Media, FREE::CtrlProfile::MediaIdentifierBase >, FREE::SmartCollectionBase< TCache >, FREE::SmartCollectionBase< TXMLElement >, FREE::SmartCollectionBase< FREE::SetupParameterConstraint >, FREE::SmartCollectionBase< FREE::ComponentSetup >, FREE::SmartCollectionBase< FREE::CtrlProfile::SubComponent >, FREE::SmartCollectionBase< FREE::CtrlProfile::ProfileOption >, FREE::SmartCollectionBase< FREE::CtrlProfile::Parameter >, FREE::SmartCollectionBase< FREE::Adaptation::Adaptation >, FREE::SmartCollectionBase< FREE::ComponentMediaLink >, FREE::SmartCollectionBase< FREE::CtrlProfile::ProfileRequirement >, FREE::SmartCollectionBase< FREE::Adaptation::AdaptationComponent >, FREE::SmartCollectionBase< FREE::CtrlProfile::Media >, FREE::XMLCollectionBase< FREE::CtrlProfile::ProfileOption >, FREE::XMLCollectionBase< FREE::Adaptation::Adaptation >, FREE::XMLCollectionBase< FREE::CtrlProfile::ProfileRequirement >, FREE::XMLCollectionBase< FREE::Adaptation::AdaptationComponent >, FREE::XMLKeyedCollectionBase< std::string, FREE::CtrlProfile::Parameter, FREE::CtrlProfile::ProfileParameterIdentifier >, FREE::XMLKeyedCollectionBase< std::string, FREE::ComponentSetup, FREE::ComponentSetupIdentifier >, FREE::XMLKeyedCollectionBase< std::string, FREE::ComponentMediaLink, FREE::ComponentMediaLinkIdentifier >, FREE::XMLKeyedCollectionBase< std::string, FREE::CtrlProfile::SubComponent, FREE::CtrlProfile::ProfileSubCompIdentifier >, and FREE::XMLKeyedCollectionBase< std::string, FREE::CtrlProfile::Media, FREE::CtrlProfile::MediaIdentifierBase >.

Definition at line 46 of file freCollectionBase.h.

template<class TElement, class TStorageType = TElement*>
typedef ElementVectorType::size_type FREE::CollectionBase< TElement, TStorageType >::ElementsCountType

Reimplemented in FREE::KeyedCollectionBase< TKey, TElement, TIdentifierClass >, FREE::SmartCollectionBase< TElement >, FREE::XMLCollectionBase< TXMLElement >, FREE::XMLKeyedCollectionBase< TKey, TXMLElement, TIdentifierClass >, FREE::ComponentMediaLinks, FREE::CtrlProfile::ProfileMediaMap, FREE::CtrlProfile::ProfileParameters, FREE::CtrlProfile::ProfileRequirement, FREE::CtrlProfile::ProfileRequirements, FREE::CtrlProfile::ProfileSubComponents, FREE::KeyedCollectionBase< std::string, FREE::CtrlProfile::Parameter, FREE::CtrlProfile::ProfileParameterIdentifier >, FREE::KeyedCollectionBase< std::string, TCache, FREE::ComponentCacheIdentifier< TCache > >, FREE::KeyedCollectionBase< std::string, FREE::ComponentSetup, FREE::ComponentSetupIdentifier >, FREE::KeyedCollectionBase< TKey, TXMLElement, TIdentifierClass >, FREE::KeyedCollectionBase< std::string, FREE::ComponentMediaLink, FREE::ComponentMediaLinkIdentifier >, FREE::KeyedCollectionBase< std::string, FREE::CtrlProfile::SubComponent, FREE::CtrlProfile::ProfileSubCompIdentifier >, FREE::KeyedCollectionBase< std::string, FREE::CtrlProfile::Media, FREE::CtrlProfile::MediaIdentifierBase >, FREE::SmartCollectionBase< TCache >, FREE::SmartCollectionBase< TXMLElement >, FREE::SmartCollectionBase< FREE::SetupParameterConstraint >, FREE::SmartCollectionBase< FREE::ComponentSetup >, FREE::SmartCollectionBase< FREE::CtrlProfile::SubComponent >, FREE::SmartCollectionBase< FREE::CtrlProfile::ProfileOption >, FREE::SmartCollectionBase< FREE::CtrlProfile::Parameter >, FREE::SmartCollectionBase< FREE::Adaptation::Adaptation >, FREE::SmartCollectionBase< FREE::ComponentMediaLink >, FREE::SmartCollectionBase< FREE::CtrlProfile::ProfileRequirement >, FREE::SmartCollectionBase< FREE::Adaptation::AdaptationComponent >, FREE::SmartCollectionBase< FREE::CtrlProfile::Media >, FREE::XMLCollectionBase< FREE::CtrlProfile::ProfileOption >, FREE::XMLCollectionBase< FREE::Adaptation::Adaptation >, FREE::XMLCollectionBase< FREE::CtrlProfile::ProfileRequirement >, FREE::XMLCollectionBase< FREE::Adaptation::AdaptationComponent >, FREE::XMLKeyedCollectionBase< std::string, FREE::CtrlProfile::Parameter, FREE::CtrlProfile::ProfileParameterIdentifier >, FREE::XMLKeyedCollectionBase< std::string, FREE::ComponentSetup, FREE::ComponentSetupIdentifier >, FREE::XMLKeyedCollectionBase< std::string, FREE::ComponentMediaLink, FREE::ComponentMediaLinkIdentifier >, FREE::XMLKeyedCollectionBase< std::string, FREE::CtrlProfile::SubComponent, FREE::CtrlProfile::ProfileSubCompIdentifier >, and FREE::XMLKeyedCollectionBase< std::string, FREE::CtrlProfile::Media, FREE::CtrlProfile::MediaIdentifierBase >.

Definition at line 47 of file freCollectionBase.h.


Constructor & Destructor Documentation

template<class TElement, class TStorageType = TElement*>
FREE::CollectionBase< TElement, TStorageType >::CollectionBase (  )  [inline]

Normal default Constructor.

Definition at line 55 of file freCollectionBase.h.

template<class TElement, class TStorageType = TElement*>
FREE::CollectionBase< TElement, TStorageType >::CollectionBase ( const CollectionBase< ElementType > &  rCollection  )  [inline]

Copy constructor

Definition at line 59 of file freCollectionBase.h.

template<class TElement, class TStorageType = TElement*>
virtual FREE::CollectionBase< TElement, TStorageType >::~CollectionBase (  )  [inline, virtual]

Definition at line 64 of file freCollectionBase.h.


Member Function Documentation

template<class TElement, class TStorageType = TElement*>
virtual const char* FREE::CollectionBase< TElement, TStorageType >::GetNameOfClass (  )  const [inline, virtual]

Reimplemented in FREE::KeyedCollectionBase< TKey, TElement, TIdentifierClass >, FREE::SmartCollectionBase< TElement >, FREE::XMLCollectionBase< TXMLElement >, FREE::XMLKeyedCollectionBase< TKey, TXMLElement, TIdentifierClass >, FREE::SetupParameterConstraints, FREE::ComponentCacheCollection< TCache >, FREE::Adaptation::Adaptation, FREE::Adaptation::AdaptationList, FREE::ComponentSetupCollection, FREE::CtrlProfile::ProfileRequirement, FREE::CtrlProfile::ProfileSubComponents, FREE::KeyedCollectionBase< std::string, FREE::CtrlProfile::Parameter, FREE::CtrlProfile::ProfileParameterIdentifier >, FREE::KeyedCollectionBase< std::string, TCache, FREE::ComponentCacheIdentifier< TCache > >, FREE::KeyedCollectionBase< std::string, FREE::ComponentSetup, FREE::ComponentSetupIdentifier >, FREE::KeyedCollectionBase< TKey, TXMLElement, TIdentifierClass >, FREE::KeyedCollectionBase< std::string, FREE::ComponentMediaLink, FREE::ComponentMediaLinkIdentifier >, FREE::KeyedCollectionBase< std::string, FREE::CtrlProfile::SubComponent, FREE::CtrlProfile::ProfileSubCompIdentifier >, FREE::KeyedCollectionBase< std::string, FREE::CtrlProfile::Media, FREE::CtrlProfile::MediaIdentifierBase >, FREE::SmartCollectionBase< TCache >, FREE::SmartCollectionBase< TXMLElement >, FREE::SmartCollectionBase< FREE::SetupParameterConstraint >, FREE::SmartCollectionBase< FREE::ComponentSetup >, FREE::SmartCollectionBase< FREE::CtrlProfile::SubComponent >, FREE::SmartCollectionBase< FREE::CtrlProfile::ProfileOption >, FREE::SmartCollectionBase< FREE::CtrlProfile::Parameter >, FREE::SmartCollectionBase< FREE::Adaptation::Adaptation >, FREE::SmartCollectionBase< FREE::ComponentMediaLink >, FREE::SmartCollectionBase< FREE::CtrlProfile::ProfileRequirement >, FREE::SmartCollectionBase< FREE::Adaptation::AdaptationComponent >, FREE::SmartCollectionBase< FREE::CtrlProfile::Media >, FREE::XMLCollectionBase< FREE::CtrlProfile::ProfileOption >, FREE::XMLCollectionBase< FREE::Adaptation::Adaptation >, FREE::XMLCollectionBase< FREE::CtrlProfile::ProfileRequirement >, FREE::XMLCollectionBase< FREE::Adaptation::AdaptationComponent >, FREE::XMLKeyedCollectionBase< std::string, FREE::CtrlProfile::Parameter, FREE::CtrlProfile::ProfileParameterIdentifier >, FREE::XMLKeyedCollectionBase< std::string, FREE::ComponentSetup, FREE::ComponentSetupIdentifier >, FREE::XMLKeyedCollectionBase< std::string, FREE::ComponentMediaLink, FREE::ComponentMediaLinkIdentifier >, FREE::XMLKeyedCollectionBase< std::string, FREE::CtrlProfile::SubComponent, FREE::CtrlProfile::ProfileSubCompIdentifier >, and FREE::XMLKeyedCollectionBase< std::string, FREE::CtrlProfile::Media, FREE::CtrlProfile::MediaIdentifierBase >.

Definition at line 51 of file freCollectionBase.h.

template<class TElement, class TStorageType>
void FREE::CollectionBase< TElement, TStorageType >::Reset (  )  [inline, virtual]

Resets the sections array.

Reimplemented in FREE::XMLCollectionBase< TXMLElement >, FREE::XMLKeyedCollectionBase< TKey, TXMLElement, TIdentifierClass >, FREE::Adaptation::Adaptation, FREE::CtrlProfile::ProfileRequirement, FREE::XMLCollectionBase< FREE::CtrlProfile::ProfileOption >, FREE::XMLCollectionBase< FREE::Adaptation::Adaptation >, FREE::XMLCollectionBase< FREE::CtrlProfile::ProfileRequirement >, FREE::XMLCollectionBase< FREE::Adaptation::AdaptationComponent >, FREE::XMLKeyedCollectionBase< std::string, FREE::CtrlProfile::Parameter, FREE::CtrlProfile::ProfileParameterIdentifier >, FREE::XMLKeyedCollectionBase< std::string, FREE::ComponentSetup, FREE::ComponentSetupIdentifier >, FREE::XMLKeyedCollectionBase< std::string, FREE::ComponentMediaLink, FREE::ComponentMediaLinkIdentifier >, FREE::XMLKeyedCollectionBase< std::string, FREE::CtrlProfile::SubComponent, FREE::CtrlProfile::ProfileSubCompIdentifier >, and FREE::XMLKeyedCollectionBase< std::string, FREE::CtrlProfile::Media, FREE::CtrlProfile::MediaIdentifierBase >.

Definition at line 35 of file freCollectionBase.txx.

References FREE::CollectionBase< TElement, TStorageType >::m_Elements.

Referenced by FREE::ConstrainedSetupTransform::ConstrainedSetupTransform(), FREE::CollectionBase< TElement, TStorageType >::operator=(), FREE::ConstrainedMetricInterface::ResetConstraints(), FREE::SetupParameterTraitsGenerator::ResetParameterConstraints(), FREE::ConstrainedSetupTransform::ResetParameterConstraints(), FREE::SetupParameterTraitsGenerator::SetupParameterTraitsGenerator(), and FREE::CollectionBase< TCache, itk::SmartPointer< TCache > >::~CollectionBase().

template<class TElement, class TStorageType>
CollectionBase< TElement, TStorageType > & FREE::CollectionBase< TElement, TStorageType >::operator= ( const CollectionBase< TElement, TStorageType > &  rCollection  )  [inline, virtual]

Assignment operator. /remark

Definition at line 43 of file freCollectionBase.txx.

References FREE::CollectionBase< TElement, TStorageType >::AddElements(), and FREE::CollectionBase< TElement, TStorageType >::Reset().

Here is the call graph for this function:

FREE::CollectionBase::AddElementsFREE::CollectionBase::ResetFREE::CollectionBase::AddElementFREE::CollectionBase::GetElementFREE::CollectionBase::Size

template<class TElement, class TStorageType>
CollectionBase< TElement, TStorageType > & FREE::CollectionBase< TElement, TStorageType >::operator+ ( const CollectionBase< TElement, TStorageType > &  collection  )  [inline, virtual]

Adds copies of the elements of the passed collection to its own.

Definition at line 57 of file freCollectionBase.txx.

References FREE::CollectionBase< TElement, TStorageType >::AddElements().

Here is the call graph for this function:

FREE::CollectionBase::AddElementsFREE::CollectionBase::AddElementFREE::CollectionBase::GetElementFREE::CollectionBase::Size

template<class TElement, class TStorageType>
CollectionBase< TElement, TStorageType >::ElementType * FREE::CollectionBase< TElement, TStorageType >::GetElement ( const ElementsCountType index  )  const [inline, virtual]

The function returns the pointer to the element specified by index. If index is out of range, the function returns NULL.

Parameters:
[in] index The index of the element.
Returns:
Pointer to the ComponentFact.

Definition at line 66 of file freCollectionBase.txx.

References FREE::CollectionBase< TElement, TStorageType >::m_Elements.

Referenced by FREE::CollectionBase< TElement, TStorageType >::AddElements().

template<class TElement, class TStorageType = TElement*>
ElementsCountType FREE::CollectionBase< TElement, TStorageType >::Size (  )  const [inline]

Returns the count of sections.

Definition at line 86 of file freCollectionBase.h.

Referenced by FREE::SetupManager::ActualizeConstraintCache(), FREE::GenericSetupToImageAdaptor::AdaptComponent(), FREE::GenericSetupToImageAdaptor::AdaptSetup(), FREE::CollectionBase< TElement, TStorageType >::AddElements(), FREE::StatisticDictionary::AddEntryDefinition(), FREE::StatisticDictionary::AddValueDefinition(), FREE::SessionBuilder::CheckComponentNecessity(), FREE::ConstrainedMetricInterface::ComputeConstraintPenalties(), FREE::ComponentSetupBrowser::CrawlComponentByIDPath(), FREE::GenericSetupToImageAdaptor::ExtendComponent(), FREE::SessionBuilder::GeneratePassiveComponentCache(), FREE::MediaDrainController::GenerateProfile(), FREE::ComponentControllerBase< TControlledComponent >::GenerateProfileTemplateRealization(), FREE::StatisticDictionary::GetEntryDefinitionByID(), FREE::StatisticDictionary::GetEntryDefinitionByName(), FREE::SetupParameterTraitsGenerator::GetParameterOrder(), FREE::StatisticDictionary::GetValueDefinitionByID(), FREE::StatisticDictionary::GetValueDefinitionByName(), FREE::SetupManager::InitializeComponentSetup(), FREE::SetupInterpolator::InterpolateComponent(), FREE::SessionBuilder::LinkMediaToComponent(), FREE::CtrlProfile::ProfileOption::ProfileMatchesOption(), FREE::MediaDrainController::SaveAllMedia(), FREE::SetupSavingHelper::SaveData(), and FREE::ComponentSetup::SaveData().

template<class TElement, class TStorageType>
void FREE::CollectionBase< TElement, TStorageType >::DeleteElement ( const ElementsCountType index  )  [inline, virtual]

The function deletes the element at the specified position. If index is out of range, the function does nothing.

Parameters:
[in] index The index of the element.

Definition at line 78 of file freCollectionBase.txx.

References FREE::CollectionBase< TElement, TStorageType >::m_Elements.

Referenced by FREE::GenericSetupToImageAdaptor::AdaptComponent(), and FREE::GenericSetupToImageAdaptor::ExtendComponent().

template<class TElement, class TStorageType>
CollectionBase< TElement, TStorageType >::ElementsCountType FREE::CollectionBase< TElement, TStorageType >::AddElement ( ElementType pElement  )  [inline, virtual]

The function adds the passed element pointer to its collection.

Remarks:
The collection does not take the ownership of the passed element pointer.
Parameters:
[in] pElement Pointer of the element which should be added.
Returns:
Index within the collection to where the element has been added.

Reimplemented in FREE::SmartCollectionBase< FREE::CtrlProfile::SubComponent >, FREE::SmartCollectionBase< FREE::CtrlProfile::ProfileOption >, FREE::SmartCollectionBase< FREE::Adaptation::Adaptation >, FREE::SmartCollectionBase< FREE::CtrlProfile::ProfileRequirement >, FREE::SmartCollectionBase< FREE::Adaptation::AdaptationComponent >, and FREE::SmartCollectionBase< FREE::CtrlProfile::Media >.

Definition at line 89 of file freCollectionBase.txx.

References FREE::CollectionBase< TElement, TStorageType >::m_Elements, and throwExceptionMacro.

Referenced by FREE::CollectionBase< TElement, TStorageType >::AddElements().

template<class TElement, class TStorageType = TElement*>
virtual ElementsCountType FREE::CollectionBase< TElement, TStorageType >::AddElement ( const ElementType element  )  [pure virtual]

The function copies the passed element and adds the copy to its collection.

Parameters:
[in] element Reference to the element that should be copied and added.
Returns:
Index within the collection to where the element has been added.

Implemented in FREE::SmartCollectionBase< FREE::CtrlProfile::SubComponent >, FREE::SmartCollectionBase< FREE::CtrlProfile::ProfileOption >, FREE::SmartCollectionBase< FREE::Adaptation::Adaptation >, FREE::SmartCollectionBase< FREE::CtrlProfile::ProfileRequirement >, FREE::SmartCollectionBase< FREE::Adaptation::AdaptationComponent >, and FREE::SmartCollectionBase< FREE::CtrlProfile::Media >.

template<class TElement, class TStorageType>
void FREE::CollectionBase< TElement, TStorageType >::AddElements ( const CollectionBase< TElement, TStorageType > &  collection  )  [inline]

The function copies the elements of the passed collection and adds the copies to its collection.

Parameters:
[in] collection Reference to the source collection.

Definition at line 100 of file freCollectionBase.txx.

References FREE::CollectionBase< TElement, TStorageType >::AddElement(), FREE::CollectionBase< TElement, TStorageType >::GetElement(), and FREE::CollectionBase< TElement, TStorageType >::Size().

Referenced by FREE::SetupParameterTraitsGenerator::AddParameterConstraints(), FREE::CollectionBase< TElement, TStorageType >::operator+(), and FREE::CollectionBase< TElement, TStorageType >::operator=().

Here is the call graph for this function:

FREE::CollectionBase::AddElementFREE::CollectionBase::GetElementFREE::CollectionBase::Size


Member Data Documentation

template<class TElement, class TStorageType = TElement*>
const ElementsCountType FREE::CollectionBase< TElement, TStorageType >::NULL_Index = -1 [static]

Definition at line 49 of file freCollectionBase.h.

template<class TElement, class TStorageType = TElement*>
ElementVectorType FREE::CollectionBase< TElement, TStorageType >::m_Elements [protected]

Array of all elements

Definition at line 116 of file freCollectionBase.h.

Referenced by FREE::CollectionBase< TElement, TStorageType >::AddElement(), FREE::CollectionBase< TElement, TStorageType >::DeleteElement(), FREE::CollectionBase< TElement, TStorageType >::GetElement(), FREE::CollectionBase< TElement, TStorageType >::Reset(), and FREE::CollectionBase< TCache, itk::SmartPointer< TCache > >::Size().


The documentation for this class was generated from the following files:
Generated at Sat Oct 13 18:17:25 2007 for f.r.e.e. - Flexible Registration and Evaluation Engine by doxygen 1.5.3 written by Dimitri van Heesch, © 1997-2000