|  | The Gaudi Framework
    v27r0
    | 
KeyedObjectManager Class to manage keyed objects. More...

| Public Member Functions | |
| KeyedObjectManager () | |
| Standard Constructor.  More... | |
| virtual | ~KeyedObjectManager () | 
| Standard Destructor.  More... | |
| void | clearDirect () | 
| Clear all direct access fields.  More... | |
| long | insertDirect (ObjectContainerBase *b, ContainedObject *c, void *o, long k) | 
| Insert element into direct access map.  More... | |
| long | isDirect () const | 
| Check if the container is dirty.  More... | |
| void * | object (long key) const | 
| Retrieve object identified by a key from the container.  More... | |
| long | insert (ObjectContainerBase *b, ContainedObject *c, void *o, long *k) | 
| Insert new object into container.  More... | |
| long | insert (ObjectContainerBase *b, ContainedObject *c, void *o, long k) | 
| Insert new object into container.  More... | |
| void * | erase (long key, const void *obj) | 
| Remove object from container (very inefficient if key is invalid)  More... | |
| long | erase (seq_type::iterator beg, seq_type::iterator end) | 
| Remove object by sequential iterators.  More... | |
| void | reserve (long size) | 
| Reserve buffer space.  More... | |
| void | clear () | 
| Clear content of the vector.  More... | |
| void | setup (void *seq, void **rndm) | 
| Setup of the Map and the parent object.  More... | |
| KeyedObjectManager () | |
| Standard Constructor.  More... | |
| virtual | ~KeyedObjectManager () | 
| Standard Destructor.  More... | |
| void | clearDirect () | 
| Clear all direct access fields.  More... | |
| long | insertDirect (ObjectContainerBase *b, ContainedObject *c, void *o, long k) | 
| Insert element into direct access map.  More... | |
| long | isDirect () const | 
| Check if the container is dirty.  More... | |
| void * | object (long key) const | 
| Retrieve object identified by a key from the container.  More... | |
| long | insert (ObjectContainerBase *b, ContainedObject *c, void *o, long *k) | 
| Insert new object into container.  More... | |
| long | insert (ObjectContainerBase *b, ContainedObject *c, void *o, long k) | 
| Insert new object into container.  More... | |
| void * | erase (long key, const void *obj) | 
| Remove object from container (very inefficient if key is invalid)  More... | |
| long | erase (seq_type::iterator beg, seq_type::iterator end) | 
| Remove object by sequential iterators.  More... | |
| void | reserve (long size) | 
| Reserve buffer space.  More... | |
| void | clear () | 
| Clear content of the vector.  More... | |
| void | setup (void *seq, void **rndm) | 
| Setup of the Map and the parent object.  More... | |
| template<> | |
| CLID | classID () | 
| template<> | |
| CLID | classID () | 
| template<> | |
| void * | object (long value) const | 
| template<> | |
| long | insert (ObjectContainerBase *b, ContainedObject *c, void *o, long *k) | 
| template<> | |
| long | insert (ObjectContainerBase *b, ContainedObject *c, void *o, long k) | 
| template<> | |
| long | insertDirect (ObjectContainerBase *b, ContainedObject *c, void *o, long k) | 
| template<> | |
| void | clearDirect () | 
| template<> | |
| void * | erase (long key, const void *obj) | 
| template<> | |
| long | erase (seq_type::iterator beg, seq_type::iterator end) | 
| template<> | |
| CLID | classID () | 
| template<> | |
| void * | object (long) const | 
| template<> | |
| long | insert (ObjectContainerBase *b, ContainedObject *c, void *o, long *k) | 
| template<> | |
| long | insert (ObjectContainerBase *b, ContainedObject *c, void *o, long k) | 
| template<> | |
| long | insertDirect (ObjectContainerBase *b, ContainedObject *c, void *o, long k) | 
| template<> | |
| void | clearDirect () | 
| template<> | |
| void * | erase (long, const void *) | 
| template<> | |
| long | erase (seq_type::iterator beg, seq_type::iterator end) | 
| template<> | |
| CLID | classID () | 
| Static Public Member Functions | |
| static CLID | classID () | 
| Access CLID for this type of container.  More... | |
| static CLID | classID () | 
| Access CLID for this type of container.  More... | |
| Private Types | |
| typedef std::vector< void * > | seq_type | 
| typedef std::vector< void * > | seq_type | 
| Private Member Functions | |
| void | onDirty () const | 
| Callback when the container becomes dirty.  More... | |
| void | onDirty () const | 
| Callback when the container becomes dirty.  More... | |
| template<> | |
| void | onDirty () const | 
| template<> | |
| void | onDirty () const | 
| Private Attributes | |
| seq_type * | m_seq | 
| Container holding array like container.  More... | |
| long | m_direct | 
| Dirty flag.  More... | |
| long | m_keyCtxt | 
| union { | |
| char buffer [128] | |
| Buffer space to hold keyed container.  More... | |
| SETUP * s | |
| } | m_setup | 
| union { | |
| char buffer [128] | |
| Buffer space to hold keyed container.  More... | |
| SETUP * s | |
| } | m_setup | 
KeyedObjectManager Class to manage keyed objects.
Object manager class.
This class is instantiated for two container types: map and hashmap. Other types are possible, but currently not supported. Other implementations may be achieved by specializing the SETUP class.
As an example below the specialization for a vector like implementation is shown.
Definition at line 45 of file KeyedObjectManager.h.
| 
 | private | 
Definition at line 47 of file KeyedObjectManager.h.
| 
 | private | 
Definition at line 47 of file KeyedObjectManager.h.
| Containers::KeyedObjectManager< T >::KeyedObjectManager | ( | ) | 
Standard Constructor.
Definition at line 88 of file KeyedObjectManager.cpp.
| 
 | virtual | 
Standard Destructor.
Definition at line 101 of file KeyedObjectManager.cpp.
| Containers::KeyedObjectManager< SETUP >::KeyedObjectManager | ( | ) | 
Standard Constructor.
| 
 | virtual | 
Standard Destructor.
| 
 | static | 
Access CLID for this type of container.
| 
 | static | 
Access CLID for this type of container.
| CLID Containers::KeyedObjectManager< Containers::map >::classID | ( | ) | 
Definition at line 316 of file KeyedObjectManager.cpp.
| CLID Containers::KeyedObjectManager< Containers::hashmap >::classID | ( | ) | 
Definition at line 320 of file KeyedObjectManager.cpp.
| CLID Containers::KeyedObjectManager< __A >::classID | ( | ) | 
Definition at line 556 of file KeyedObjectManager.cpp.
| CLID Containers::KeyedObjectManager< __V >::classID | ( | ) | 
Definition at line 659 of file KeyedObjectManager.cpp.
| void Containers::KeyedObjectManager< T >::clear | ( | ) | 
Clear content of the vector.
Definition at line 258 of file KeyedObjectManager.cpp.
| void Containers::KeyedObjectManager< SETUP >::clear | ( | ) | 
Clear content of the vector.
| void Containers::KeyedObjectManager< T >::clearDirect | ( | ) | 
Clear all direct access fields.
Definition at line 265 of file KeyedObjectManager.cpp.
| void Containers::KeyedObjectManager< SETUP >::clearDirect | ( | ) | 
Clear all direct access fields.
| void Containers::KeyedObjectManager< __A >::clearDirect | ( | ) | 
Definition at line 455 of file KeyedObjectManager.cpp.
| void Containers::KeyedObjectManager< __V >::clearDirect | ( | ) | 
Definition at line 630 of file KeyedObjectManager.cpp.
| void * Containers::KeyedObjectManager< T >::erase | ( | long | key, | 
| const void * | obj | ||
| ) | 
Remove object from container (very inefficient if key is invalid)
Definition at line 210 of file KeyedObjectManager.cpp.
| void* Containers::KeyedObjectManager< SETUP >::erase | ( | long | key, | 
| const void * | obj | ||
| ) | 
Remove object from container (very inefficient if key is invalid)
| long Containers::KeyedObjectManager< T >::erase | ( | seq_type::iterator | beg, | 
| seq_type::iterator | end | ||
| ) | 
Remove object by sequential iterators.
Definition at line 283 of file KeyedObjectManager.cpp.
| long Containers::KeyedObjectManager< SETUP >::erase | ( | seq_type::iterator | beg, | 
| seq_type::iterator | end | ||
| ) | 
Remove object by sequential iterators.
| void * Containers::KeyedObjectManager< __A >::erase | ( | long | key, | 
| const void * | obj | ||
| ) | 
Definition at line 464 of file KeyedObjectManager.cpp.
| long Containers::KeyedObjectManager< __A >::erase | ( | seq_type::iterator | beg, | 
| seq_type::iterator | end | ||
| ) | 
Definition at line 517 of file KeyedObjectManager.cpp.
| void * Containers::KeyedObjectManager< __V >::erase | ( | long | , | 
| const void * | |||
| ) | 
Definition at line 638 of file KeyedObjectManager.cpp.
| long Containers::KeyedObjectManager< __V >::erase | ( | seq_type::iterator | beg, | 
| seq_type::iterator | end | ||
| ) | 
Definition at line 647 of file KeyedObjectManager.cpp.
| long Containers::KeyedObjectManager< SETUP >::insert | ( | ObjectContainerBase * | b, | 
| ContainedObject * | c, | ||
| void * | o, | ||
| long * | k | ||
| ) | 
Insert new object into container.
| long Containers::KeyedObjectManager< T >::insert | ( | ObjectContainerBase * | b, | 
| ContainedObject * | c, | ||
| void * | o, | ||
| long * | k | ||
| ) | 
Insert new object into container.
Definition at line 124 of file KeyedObjectManager.cpp.
| long Containers::KeyedObjectManager< SETUP >::insert | ( | ObjectContainerBase * | b, | 
| ContainedObject * | c, | ||
| void * | o, | ||
| long | k | ||
| ) | 
Insert new object into container.
| long Containers::KeyedObjectManager< T >::insert | ( | ObjectContainerBase * | b, | 
| ContainedObject * | c, | ||
| void * | o, | ||
| long | k | ||
| ) | 
Insert new object into container.
Keep major key value
Definition at line 135 of file KeyedObjectManager.cpp.
| long Containers::KeyedObjectManager< __A >::insert | ( | ObjectContainerBase * | b, | 
| ContainedObject * | c, | ||
| void * | o, | ||
| long * | k | ||
| ) | 
Definition at line 370 of file KeyedObjectManager.cpp.
| long Containers::KeyedObjectManager< __A >::insert | ( | ObjectContainerBase * | b, | 
| ContainedObject * | c, | ||
| void * | o, | ||
| long | k | ||
| ) | 
Keep major key value
Extend redirection array and insert
Definition at line 389 of file KeyedObjectManager.cpp.
| long Containers::KeyedObjectManager< __V >::insert | ( | ObjectContainerBase * | b, | 
| ContainedObject * | c, | ||
| void * | o, | ||
| long * | k | ||
| ) | 
Definition at line 586 of file KeyedObjectManager.cpp.
| long Containers::KeyedObjectManager< __V >::insert | ( | ObjectContainerBase * | b, | 
| ContainedObject * | c, | ||
| void * | o, | ||
| long | k | ||
| ) | 
Definition at line 600 of file KeyedObjectManager.cpp.
| long Containers::KeyedObjectManager< SETUP >::insertDirect | ( | ObjectContainerBase * | b, | 
| ContainedObject * | c, | ||
| void * | o, | ||
| long | k | ||
| ) | 
Insert element into direct access map.
| long Containers::KeyedObjectManager< T >::insertDirect | ( | ObjectContainerBase * | b, | 
| ContainedObject * | c, | ||
| void * | o, | ||
| long | k | ||
| ) | 
Insert element into direct access map.
Keep major key value
Definition at line 173 of file KeyedObjectManager.cpp.
| long Containers::KeyedObjectManager< __A >::insertDirect | ( | ObjectContainerBase * | b, | 
| ContainedObject * | c, | ||
| void * | o, | ||
| long | k | ||
| ) | 
Keep major key value
Extend redirection array and insert
Definition at line 421 of file KeyedObjectManager.cpp.
| long Containers::KeyedObjectManager< __V >::insertDirect | ( | ObjectContainerBase * | b, | 
| ContainedObject * | c, | ||
| void * | o, | ||
| long | k | ||
| ) | 
Definition at line 614 of file KeyedObjectManager.cpp.
| 
 | inline | 
Check if the container is dirty.
Definition at line 72 of file KeyedObjectManager.h.
| 
 | inline | 
Check if the container is dirty.
Definition at line 72 of file KeyedObjectManager.h.
| void* Containers::KeyedObjectManager< SETUP >::object | ( | long | key | ) | const | 
Retrieve object identified by a key from the container.
| void * Containers::KeyedObjectManager< T >::object | ( | long | key | ) | const | 
Retrieve object identified by a key from the container.
Definition at line 234 of file KeyedObjectManager.cpp.
| void * Containers::KeyedObjectManager< __A >::object | ( | long | value | ) | const | 
Definition at line 340 of file KeyedObjectManager.cpp.
| void * Containers::KeyedObjectManager< __V >::object | ( | long | ) | const | 
Definition at line 573 of file KeyedObjectManager.cpp.
| 
 | private | 
Callback when the container becomes dirty.
| 
 | private | 
Callback when the container becomes dirty.
Definition at line 115 of file KeyedObjectManager.cpp.
| 
 | private | 
Definition at line 357 of file KeyedObjectManager.cpp.
| 
 | private | 
Definition at line 580 of file KeyedObjectManager.cpp.
| void Containers::KeyedObjectManager< SETUP >::reserve | ( | long | size | ) | 
Reserve buffer space.
| void Containers::KeyedObjectManager< T >::reserve | ( | long | size | ) | 
Reserve buffer space.
Definition at line 243 of file KeyedObjectManager.cpp.
| void Containers::KeyedObjectManager< T >::setup | ( | void * | seq, | 
| void ** | rndm | ||
| ) | 
Setup of the Map and the parent object.
Definition at line 108 of file KeyedObjectManager.cpp.
| void Containers::KeyedObjectManager< SETUP >::setup | ( | void * | seq, | 
| void ** | rndm | ||
| ) | 
Setup of the Map and the parent object.
| char Containers::KeyedObjectManager< SETUP >::buffer[128] | 
Buffer space to hold keyed container.
Definition at line 55 of file KeyedObjectManager.h.
| 
 | mutableprivate | 
Dirty flag.
Definition at line 51 of file KeyedObjectManager.h.
| 
 | mutableprivate | 
Definition at line 52 of file KeyedObjectManager.h.
| 
 | private | 
Container holding array like container.
Definition at line 49 of file KeyedObjectManager.h.
| union { ... } Containers::KeyedObjectManager< SETUP >::m_setup | 
| union { ... } Containers::KeyedObjectManager< SETUP >::m_setup | 
| SETUP* Containers::KeyedObjectManager< SETUP >::s | 
Definition at line 56 of file KeyedObjectManager.h.