MEPP2 Project
Public Member Functions | Private Attributes | List of all members
FEVV::DataStructures::AIF::PropertyMapContainer Class Reference

#include <AIFProperties.h>

Collaboration diagram for FEVV::DataStructures::AIF::PropertyMapContainer:
Collaboration graph

Public Member Functions

 ~PropertyMapContainer ()
 
bool isPropertyMap (const std::string &name) const
 
bool isAPropertyMapStartingWithPrefix (const std::string &prefix) const
 
std::vector< std::string > GetPropertyMapNamesStartingWithPrefix (const std::string &prefix) const
 
template<typename T >
PropertyMap< T > * getPropertyMap (const std::string &name) const
 
template<typename T >
PropertyMap< T > * addPropertyMap (const std::string &name)
 
void removePropertyMap (const std::string &name)
 
void clear ()
 
template<typename T >
void setProperty (const std::string &name, std::size_t idx, const T &value)
 
template<typename T >
T & getProperty (const std::string &name, std::size_t idx)
 
template<typename T >
T & getProperty (const std::string &name, std::size_t idx) const
 
void removeProperties (std::size_t idx, std::size_t cLastIdx)
 
template<typename KeyType , typename ValueType >
AssocPropertyMap< KeyType, ValueType > * getAssocPropertyMap (const std::string &name)
 
template<typename KeyType , typename ValueType >
AssocPropertyMap< KeyType, ValueType > * addAssocPropertyMap (const std::string &name)
 

Private Attributes

std::map< const std::string, BasePropertyMap * > m_PropertyMaps
 

Detailed Description

A property maps container.

Definition at line 468 of file AIFProperties.h.

Constructor & Destructor Documentation

◆ ~PropertyMapContainer()

FEVV::DataStructures::AIF::PropertyMapContainer::~PropertyMapContainer ( )
inline

Definition at line 471 of file AIFProperties.h.

Member Function Documentation

◆ addAssocPropertyMap()

template<typename KeyType , typename ValueType >
AssocPropertyMap< KeyType, ValueType >* FEVV::DataStructures::AIF::PropertyMapContainer::addAssocPropertyMap ( const std::string &  name)
inline

Add a property map or return an existing one.

Parameters
namename of the property map
Returns
a pointer to the property map

Definition at line 688 of file AIFProperties.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addPropertyMap()

template<typename T >
PropertyMap< T >* FEVV::DataStructures::AIF::PropertyMapContainer::addPropertyMap ( const std::string &  name)
inline

Add a property map or return an existing one.

Parameters
namename of the property map
Returns
a pointer to the property map

Definition at line 559 of file AIFProperties.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ clear()

void FEVV::DataStructures::AIF::PropertyMapContainer::clear ( )
inline

Remove all property maps.

Definition at line 587 of file AIFProperties.h.

Here is the caller graph for this function:

◆ getAssocPropertyMap()

template<typename KeyType , typename ValueType >
AssocPropertyMap< KeyType, ValueType >* FEVV::DataStructures::AIF::PropertyMapContainer::getAssocPropertyMap ( const std::string &  name)
inline

Get the property map if it exists, else throw an exception.

Parameters
namename of the property map
Returns
a pointer to the property map

Definition at line 665 of file AIFProperties.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getProperty() [1/2]

template<typename T >
T& FEVV::DataStructures::AIF::PropertyMapContainer::getProperty ( const std::string &  name,
std::size_t  idx 
)
inline

Get the value of a property map at the given index.

Parameters
namename of the property map
idxindex where to set the value from
valuevalue at the given index

Definition at line 620 of file AIFProperties.h.

Here is the caller graph for this function:

◆ getProperty() [2/2]

template<typename T >
T& FEVV::DataStructures::AIF::PropertyMapContainer::getProperty ( const std::string &  name,
std::size_t  idx 
) const
inline

Get the value of a property map at the given index.

Parameters
namename of the property map
idxindex where to set the value from
valuevalue at the given index

Definition at line 634 of file AIFProperties.h.

◆ getPropertyMap()

template<typename T >
PropertyMap< T >* FEVV::DataStructures::AIF::PropertyMapContainer::getPropertyMap ( const std::string &  name) const
inline

Get the property map if it exists, else throw an exception.

Parameters
namename of the property map
Returns
a pointer to the property map

Definition at line 538 of file AIFProperties.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetPropertyMapNamesStartingWithPrefix()

std::vector< std::string > FEVV::DataStructures::AIF::PropertyMapContainer::GetPropertyMapNamesStartingWithPrefix ( const std::string &  prefix) const
inline

Get property map names starting with prefix.

Parameters
prefixprefix of the property map
Returns
std::vector of property map names starting with prefix

Definition at line 518 of file AIFProperties.h.

Here is the caller graph for this function:

◆ isAPropertyMapStartingWithPrefix()

bool FEVV::DataStructures::AIF::PropertyMapContainer::isAPropertyMapStartingWithPrefix ( const std::string &  prefix) const
inline

Test if there is at least one property map starting with prefix.

Parameters
prefixprefix of the property map
Returns
true if there is at least one property map starting with given prefix, else false

Definition at line 502 of file AIFProperties.h.

Here is the caller graph for this function:

◆ isPropertyMap()

bool FEVV::DataStructures::AIF::PropertyMapContainer::isPropertyMap ( const std::string &  name) const
inline

Test if a property map exists.

Parameters
namename of the property map
Returns
true if the property map exists, else false

Definition at line 488 of file AIFProperties.h.

Here is the caller graph for this function:

◆ removeProperties()

void FEVV::DataStructures::AIF::PropertyMapContainer::removeProperties ( std::size_t  idx,
std::size_t  cLastIdx 
)
inline

Remove property at index, in all property maps.

Parameters
idxthe index where to remove properties
cLastIdxindex of the last element of the cell container

Definition at line 646 of file AIFProperties.h.

Here is the caller graph for this function:

◆ removePropertyMap()

void FEVV::DataStructures::AIF::PropertyMapContainer::removePropertyMap ( const std::string &  name)
inline

Remove a property map.

Parameters
namename of the property map

Definition at line 575 of file AIFProperties.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setProperty()

template<typename T >
void FEVV::DataStructures::AIF::PropertyMapContainer::setProperty ( const std::string &  name,
std::size_t  idx,
const T &  value 
)
inline

Set value at index in property map.

Parameters
namename of the property map
idxindex where to set the value at
valuevalue at the given index

Definition at line 606 of file AIFProperties.h.

Here is the caller graph for this function:

Member Data Documentation

◆ m_PropertyMaps

std::map< const std::string, BasePropertyMap * > FEVV::DataStructures::AIF::PropertyMapContainer::m_PropertyMaps
private

Definition at line 700 of file AIFProperties.h.


The documentation for this class was generated from the following file: