List of all members | Classes | Public Member Functions | Public Attributes | Private Types | Private Attributes
utl::TypeLabeledContainer< Base, OwnershipPolicy > Class Template Reference

container of classes with common base, labeled by concrete type More...

#include "utl/TypeLabeledContainer.h"

Classes

class  ConstIterator
 
struct  DynamicCast
 
class  Iterator
 

Public Member Functions

template<class T >
Iterator< T > Begin ()
 
template<class T >
Iterator< T > End ()
 
template<class T >
void Insert (T *const t)
 
 return (it!=fContainer.end())?it-> second.begin():InternalConstIterator(0)
 
 return (it!=fContainer.end())?it-> second.end():InternalConstIterator(0)
 
 ~TypeLabeledContainer ()
 

Public Attributes

template<class T >
ConstIterator< T > const
 

Private Types

typedef
InternalVector::const_iterator 
InternalConstIterator
 
typedef std::map< std::string,
InternalVector
InternalMap
 
typedef std::vector< Base * > InternalVector
 

Private Attributes

InternalMap fContainer
 

Detailed Description

template<class Base, class OwnershipPolicy = Own>
class utl::TypeLabeledContainer< Base, OwnershipPolicy >

container of classes with common base, labeled by concrete type

Author
Darko Veberic
Lukas Nellen
Javier Gonzalez
Date
26 Jan 2009

Definition at line 47 of file TypeLabeledContainer.h.

Member Typedef Documentation

template<class Base , class OwnershipPolicy = Own>
typedef InternalVector::const_iterator utl::TypeLabeledContainer< Base, OwnershipPolicy >::InternalConstIterator
private

Definition at line 65 of file TypeLabeledContainer.h.

template<class Base , class OwnershipPolicy = Own>
typedef std::map<std::string, InternalVector> utl::TypeLabeledContainer< Base, OwnershipPolicy >::InternalMap
private

Definition at line 125 of file TypeLabeledContainer.h.

template<class Base , class OwnershipPolicy = Own>
typedef std::vector<Base*> utl::TypeLabeledContainer< Base, OwnershipPolicy >::InternalVector
private

Definition at line 64 of file TypeLabeledContainer.h.

Constructor & Destructor Documentation

template<class Base , class OwnershipPolicy = Own>
utl::TypeLabeledContainer< Base, OwnershipPolicy >::~TypeLabeledContainer ( )
inline

Member Function Documentation

template<class Base , class OwnershipPolicy = Own>
template<class T >
Iterator<T> utl::TypeLabeledContainer< Base, OwnershipPolicy >::Begin ( )
inline
template<class Base , class OwnershipPolicy = Own>
template<class T >
Iterator<T> utl::TypeLabeledContainer< Base, OwnershipPolicy >::End ( )
inline
template<class Base , class OwnershipPolicy = Own>
template<class T >
void utl::TypeLabeledContainer< Base, OwnershipPolicy >::Insert ( T *const  t)
inline
template<class Base , class OwnershipPolicy = Own>
utl::TypeLabeledContainer< Base, OwnershipPolicy >::return ( it!  = fContainer.end()) -> second.begin():InternalConstIterator(0)
template<class Base , class OwnershipPolicy = Own>
utl::TypeLabeledContainer< Base, OwnershipPolicy >::return ( it!  = fContainer.end()) -> second.end():InternalConstIterator(0)

Member Data Documentation

template<class Base , class OwnershipPolicy = Own>
template<class T >
ConstIterator< T > utl::TypeLabeledContainer< T >::const
Initial value:
{
const typename InternalMap::const_iterator it = fContainer.find(typeid(T).name())

Definition at line 98 of file TypeLabeledContainer.h.

template<class Base , class OwnershipPolicy = Own>
InternalMap utl::TypeLabeledContainer< Base, OwnershipPolicy >::fContainer
private

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

, generated on Tue Sep 26 2023.