API Guides > ConceptRT 3.x
ConceptDynamicList< ElementType > Class Template Reference

Concept Dynamic List. Polymorphous and configurable list content. More...

Detailed Description

template<class ElementType>
class ConceptRT::ConceptDynamicList< ElementType >

Concept Dynamic List. Polymorphous and configurable list content.

Template Parameters
ElementTypeBase ConceptElement type of the polymorphous list. The list accept only elements that are or that inherited from ElementType.
Examples:
Machine/main.cpp.
+ Inheritance diagram for ConceptDynamicList< ElementType >:

Public Member Methods

BaseConceptFactoryGetFactory () const
 Gets the ConceptElement factory. More...
 
 ConceptDynamicList ()
 Default constructor. More...
 
 ~ConceptDynamicList ()
 Destructor. More...
 
ElementType & AddNew (const BaseConceptFactory &factory)
 Adds a new element More...
 
ElementType & AddNew (const BaseConceptFactory &factory, const PCChar8 name)
 Adds a new element. More...
 
template<class ElementSubType >
ElementSubType & AddNew ()
 Adds new base type element. More...
 
template<class ElementSubType >
ElementSubType & AddNew (const PCChar8 name)
 Adds a new base type element More...
 
ElementType & operator[] (Int32 index)
 Array indexer operator. More...
 
- Public Member Methods inherited from BaseConceptDynamicList
void ReadFrom (IDataStore &dataStore, IMessageCollector *messages=NULL)
 Reads from. More...
 
void WriteTo (IDataStore &dataStore) const
 Writes to. More...
 
- Public Member Methods inherited from ConceptList
 ConceptList ()
 Default constructor. More...
 
 ConceptList (const ConceptList &right)
 Default constructor. More...
 
ConceptListoperator= (const ConceptList &right)
 Assignment operator. More...
 
Int32 GetCount () const
 Gets the number of element contained. More...
 
Int32 Add (ConceptElement &element)
 Adds element. More...
 
Int32 Add (ConceptElement &element, const PCChar8 name)
 Adds element. More...
 
void AddRange (const IReferenceList< ConceptElement > &list)
 Adds a range of element. More...
 
void Clear ()
 Clears the content of this container. More...
 
void RemoveAt (Int32 index)
 Removes a reference at index. More...
 
void Insert (Int32 index, ConceptElement &element)
 Inserts a reference. More...
 
void Exchange (Int32 index1, Int32 index2)
 Exchanges two references. More...
 
void Move (Int32 index1, Int32 index2)
 Moves a reference. More...
 
bool IndexValid (Int32 index) const
 Query if index is valid. More...
 
Int32 IndexOf (const ConceptElement &element) const
 Index of the given reference. More...
 
Int32 Remove (const ConceptElement &element)
 Removes an reference at index. More...
 
ConceptElementSwap (ConceptElement &element, Int32 index)
 Swaps. More...
 
bool GetFull () const
 Query if the reference list is full. More...
 
bool GetEmpty () const
 Query if the reference list is empty. More...
 
ConceptElementoperator[] (Int32 index) const
 Array indexer operator. More...
 
void Accept (IContainerVisitor &visitor)
 Accepts IContainerVisitor to access the object published fields. More...
 
bool IsNameUnique (PCChar8 name, ConceptElement *element=NULL)
 Query if 'name' is an unique name . More...
 
String GenerateUniqueName (PCChar8 baseName="Item", ConceptElement *element=NULL)
 Generates a unique name. More...
 
- Public Member Methods inherited from ConceptContainer
const bool & GetIsXmlPropertyVisible () const
 Show the xml field in the invocation. More...
 
const bool & GetIsXmlPropertyVisible ()
 Show the xml field in the invocation. More...
 
void SetIsXmlPropertyVisible (const bool &value)
 Show the xml field in the invocation. More...
 
const bool & GetIsXmlPropertyReadOnly () const
 Control access on the xml file shown in the invocation. More...
 
const bool & GetIsXmlPropertyReadOnly ()
 Control access on the xml file shown in the invocation. More...
 
void SetIsXmlPropertyReadOnly (const bool &value)
 Control access on the xml file shown in the invocation. More...
 
 ConceptContainer ()
 Default constructor. More...
 
 ~ConceptContainer ()
 Destructor. More...
 
bool Contains (ConceptElement &element) const
 Query if this object contains the given element. More...
 
void ResolveLinks ()
 Resolve links. More...
 
void Invoke (const DynamicInvocationRequest &request, DynamicInvocationResult &result)
 Invokes the object fields and methods. More...
 
ConceptElementFind (const PCChar8 path) const
 Searches into the container and sub-containers an element. More...
 
virtual ConceptElementFindByName (const PCChar8 name) const
 Searches into the container an element. More...
 
template<class ElementSubType >
ElementSubType * FindByName (const PCChar8 name) const
 Searches into the container an element of a certain type. More...
 
void RetrieveProvidedFactories (BaseConceptFactories &factories, const Predicate< BaseConceptFactory & > &filter)
 Retrieve provided factories. More...
 
void RetrieveProvidedFactories (BaseConceptFactories &factories)
 RetrieveProvidedFactories. More...
 
void RetrieveFactories (BaseConceptFactories &factories) const
 Retrieve factories. More...
 
- Public Member Methods inherited from ConceptElement
const bool & GetIsInvocable () const
 Controls if the objet should be shown in the invocation. More...
 
const bool & GetIsInvocable ()
 Controls if the objet should be shown in the invocation. More...
 
void SetIsInvocable (const bool &value)
 Controls if the objet should be shown in the invocation. More...
 
const bool & GetIsSerialized () const
 Controls if the objet should be serialized. More...
 
const bool & GetIsSerialized ()
 Controls if the objet should be serialized. More...
 
void SetIsSerialized (const bool &value)
 Controls if the objet should be serialized. More...
 
 ConceptElement ()
 Default constructor. More...
 
 ConceptElement (const ConceptElement &right)
 Default constructor. More...
 
ConceptElementoperator= (const ConceptElement &right)
 Assignment operator. More...
 
const StaticString< ConceptElementNameMaxLength > & GetName () const
 Gets the name. More...
 
void SetName (const PCChar8 name)
 Sets a name. More...
 
String GetPath () const
 Gets the path of the ConceptElement. More...
 
ConceptContainerGetContainer () const
 Gets the container of the ConceptElement. More...
 
template<class ContainerType >
ContainerType * GetContainerOfType () const
 Gets the container of a certain type the ConceptElement. More...
 
ConceptContainerGetRootContainer () const
 Gets the root container of the ConceptElement. More...
 
virtual const String GetDisplayName () const
 Gets the display name. More...
 
virtual void CopyDataFrom (const ConceptElement &source)
 Copies the data from another ConceptElement. More...
 
virtual void CopyFrom (const ConceptElement &source)
 Copies itself from a given source. More...
 
ConceptElementGetProvider () const
 Gets the provider of the ConceptElement if defined, throws a ConceptException otherwise. More...
 
template<class T >
T & GetProvider () const
 Gets the provider of the ConceptElement if defined and of type T, throws a ConceptException otherwise. More...
 
bool GetHasProvider () const
 Tests the existence of a provider. More...
 
template<class T >
bool GetHasProvider () const
 Tests the existence of a provider of type T. More...
 
virtual ConceptElementClone () const
 Makes a deep copy of this object. More...
 
void RetrieveProvidedFactories (BaseConceptFactories &factories)
 Retrieve provided factories. More...
 
Variant GetPropertyMetaData (PCChar8 propertyName, PCChar8 metaDataName, const Variant &defaultValue=Variant::GetVariantNull()) const
 Returns a metadata string corresponding to a property and a metadata name. More...
 

Static Public Member Functions

static BaseConceptFactoryGetClassFactory ()
 Get the class factory. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ConceptElement
void Initialize ()
 Initializes this object. More...
 
virtual BaseConceptFactoryInternalGetFactory () const
 Gets the object factory. More...
 
virtual void RetrieveElementProvidedFactories (BaseConceptFactories &factories, const Predicate< BaseConceptFactory & > &filter)
 RetrieveElementProvidedFactories. Used by the macro CONCEPT_PROVIDED_COMPONENT_BEGIN More...
 

Constructor & Destructor Documentation

Default constructor.

Destructor.

Methods Documentation

ElementType & AddNew ( const BaseConceptFactory factory)

Adds a new element

Parameters
factoryThe ConceptElement factory.
Returns
The new element
Warning
Non-Deterministic: The new element is created on the heap. Determinism when using ConceptRT library can be ensure by using Context Time Critical mechanisms.
RT Exceptions:
RT_ERROR_OBJECT_TYPE_NOT_SUPPORTED
ElementType & AddNew ( const BaseConceptFactory factory,
const PCChar8  name 
)

Adds a new element.

Parameters
factoryThe ConceptElement factory.
nameThe new element's name.
Returns
The new element
Warning
Non-Deterministic: The new element is created on the heap. Determinism when using ConceptRT library can be ensure by using Context Time Critical mechanisms.
RT Exceptions:

RT_ERROR_DUPLICATE_NAME

RT_ERROR_OBJECT_TYPE_NOT_SUPPORTED

ElementSubType & AddNew ( )

Adds new base type element.

Returns
The new element
Warning
Non-Deterministic: The new element is created on the heap. Determinism when using ConceptRT library can be ensure by using Context Time Critical mechanisms.
RT Exceptions:
RT_ERROR_OBJECT_TYPE_NOT_SUPPORTED
ElementSubType & AddNew ( const PCChar8  name)

Adds a new base type element

Parameters
nameThe new element's name.
Returns
The new element
Warning
Non-Deterministic: The new element is created on the heap. Determinism when using ConceptRT library can be ensure by using Context Time Critical mechanisms.
RT Exceptions:

RT_ERROR_DUPLICATE_NAME

RT_ERROR_OBJECT_TYPE_NOT_SUPPORTED

static BaseConceptFactory& GetClassFactory ( )
inlinestatic

Get the class factory.

Returns
The class factory.
BaseConceptFactory& GetFactory ( ) const
inlinevirtual

Gets the ConceptElement factory.

Returns
The factory.
RT Exceptions:
RT_ERROR_INTERNAL_FACTORY_NOT_DEFINED

Implements ConceptElement.

ElementType & operator[] ( Int32  index)

Array indexer operator.

Parameters
indexZero-based index.
Returns
The indexed element.