| The Gaudi Framework v28r2p1 (f1a77ff4)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
RefTable1toN< FROM, TO > Class Template Reference

`#include <GaudiKernel/RefTable.h>`

Inheritance diagram for RefTable1toN< FROM, TO >:
[legend]
Collaboration diagram for RefTable1toN< FROM, TO >:
[legend]

## Public Member Functions
| RefTable1toN (const CLID &clid, int len=16)
| Standard Constructor. More...
| ~RefTable1toN () override=default
| Standard Destructor. More...
virtual const CLID & | clID () const
| Retrieve reference to class definition structure. More...
bool | insert (const FROM *from, TO *to)
| Insert new Entry into Reference container. More...
bool | insert (const FROM *from, const SmartRef< TO > &to)
| Insert new Entry into Reference container. More...
bool | insert (const FROM *from, const EntryType &to)
| Insert new Entry into Reference container. More...
EntryType & | reference (const FROM *from)
| Find Reference from it's source entry. More...
const EntryType & | reference (const FROM *from) const
| Find Reference from it's source entry (CONST) More...
bool | isReferenced (const FROM *from, const EntryType &to)
| Check if two entries are Referenced to each other. More...
bool | isReferenced (const FROM *from, const TO *to)
| Check if two entries are Referenced to each other. More...
bool | isReferenced (const FROM *from, const SmartRef< TO > &to)
| Check if two entries are Referenced to each other. More...
Public Member Functions inherited from RefTableBase< FROM, SmartRefVector< TO > >
| RefTableBase (const CLID &clid, int len)
| Constructors. More...
virtual | ~RefTableBase ()=default
| Destructor. More...
virtual void | clear ()
| Clear Reference map. More...
iterator | begin ()
| Start of direct access iterator. More...
const_iterator | begin () const
| Start of direct access iterator (CONST) More...
iterator | end ()
| End of direct access iterator. More...
const_iterator | end () const
| End of direct access iterator (CONST) More...
long | size () const
| Size of References. More...
void | reserve (int len)
| Size of References. More...
virtual StreamBuffer & | serialize (StreamBuffer &s) const
| Serialize the object for writing. More...
virtual StreamBuffer & | serialize (StreamBuffer &s)
| Serialize the object for reading. More...
Public Member Functions inherited from DataObject
| DataObject ()
| Standard Constructor. More...
| DataObject (const DataObject &rhs)
| Copy Constructor. More...
DataObject & | operator= (const DataObject &rhs)
| Assignment Operator. More...
| DataObject (DataObject &&rhs)
| Move Constructor. More...
DataObject & | operator= (DataObject &&rhs)
| Move Assignment Operator. More...
virtual | ~DataObject ()
| Standard Destructor. More...
virtual unsigned long | addRef ()
| Add reference to object. More...
virtual unsigned long | release ()
| release reference to object More...
const std::string & | name () const
| Retreive DataObject name. It is the name when registered in the store. More...
virtual StatusCode | update ()
| Provide empty placeholder for internal object reconfiguration callback. More...
void | setRegistry (IRegistry *pRegistry)
| Set pointer to Registry. More...
IRegistry * | registry () const
| Get pointer to Registry. More...
LinkManager * | linkMgr () const
| Retrieve Link manager. More...
unsigned char | version () const
| Retrieve version number of this object representation. More...
void | setVersion (unsigned char vsn)
| Set version number of this object representation. More...
unsigned long | refCount () const
| Return the refcount. More...
virtual std::ostream & | fillStream (std::ostream &s) const
| Fill the output stream (ASCII) More...

## Additional Inherited Members
Public Types inherited from RefTableBase< FROM, SmartRefVector< TO > >
typedef FROM | KeyType
typedef SmartRefVector< TO > | EntryType
typedef RefTableBase< FROM, EntryType > | BaseType
typedef GaudiUtils::HashMap< const void *, EntryType > | TableType
| Define Reference map. More...
typedef TableType::iterator | iterator
| Definition of map iterator. More...
typedef TableType::const_iterator | const_iterator
| Definition of map iterator (CONST) More...
Static Public Member Functions inherited from DataObject
static const CLID & | classID ()
| Retrieve reference to class definition structure (static access) More...
Public Attributes inherited from RefTableBase< FROM, SmartRefVector< TO > >
CLID | m_clid
| Class id of the reference table. More...
Protected Member Functions inherited from RefTableBase< FROM, SmartRefVector< TO > >
bool | insertMapElement (const KeyType *from, EntryType &to)
| Insert new Entry into Reference container. More...
EntryType * | i_reference (const KeyType *from)
| Find Reference from it's source entry. More...
const EntryType * | i_reference (const KeyType *from) const
| Find Reference from it's source entry (CONST) More...

## Detailed Description

### template<class FROM, class TO>
class RefTable1toN< FROM, TO >

Definition at line 200 of file RefTable.h.

## Constructor & Destructor Documentation

template<class FROM , class TO >

RefTable1toN< FROM, TO >::RefTable1toN | ( | const CLID & | clid,
|  | int | len = `16`
| ) |  |
| inline

Standard Constructor.

Definition at line 204 of file RefTable.h.

205 : RefTableBase< FROM , SmartRefVector<TO> >(clid, len) {
206 }
RefTableBase
template <class FROM, class TO, class MAPENTRY> class RefTable
Definition: RefTable.h:45
template<class FROM , class TO >

RefTable1toN< FROM, TO >::~RefTable1toN | ( |  | ) |
| override default

Standard Destructor.

## Member Function Documentation

template<class FROM , class TO >

virtual const CLID& RefTable1toN< FROM, TO >::clID | ( |  | ) | const
| inline virtual

Retrieve reference to class definition structure.

Reimplemented from DataObject.

Definition at line 211 of file RefTable.h.

211 {
212 return m_clid;
213 }
RefTableBase< FROM, SmartRefVector< TO > >::m_clid
CLID m_clid
Class id of the reference table.
Definition: RefTable.h:62
template<class FROM , class TO >

bool RefTable1toN< FROM, TO >::insert | ( | const FROM * | from,
|  | TO * | to
| ) |  |
| inline

Insert new Entry into Reference container.

Definition at line 215 of file RefTable.h.

215 {
216 EntryType* entry = i_reference(from);
217 if ( 0 == entry ) {
218 bool result = insertMapElement(from, EntryType());
219 EntryType* newEntry = i_reference(from);
220 if ( !( 0 == newEntry) ) {
221 newEntry->push_back( SmartRef<TO>(to) );
222 return true;
223 }
224 return false;
225 }
226 entry->push_back( SmartRef<TO>(to) );
227 return true;
228 }
SmartRef
Kernel objects: SmartRef.
Definition: SmartRef.h:62
RefTableBase< FROM, SmartRefVector< TO > >::i_reference
EntryType * i_reference(const KeyType *from)
Find Reference from it&#39;s source entry.
Definition: RefTable.h:78
RefTableBase< FROM, SmartRefVector< TO > >::EntryType
SmartRefVector< TO > EntryType
Definition: RefTable.h:50
RefTableBase< FROM, SmartRefVector< TO > >::insertMapElement
bool insertMapElement(const KeyType *from, EntryType &to)
Insert new Entry into Reference container.
Definition: RefTable.h:74
template<class FROM , class TO >

bool RefTable1toN< FROM, TO >::insert | ( | const FROM * | from,
|  | const SmartRef< TO > & | to
| ) |  |
| inline

Insert new Entry into Reference container.

Definition at line 230 of file RefTable.h.

230 {
231 EntryType* entry = i_reference(from);
232 if ( 0 == entry ) {
233 bool result = insertMapElement(from, EntryType());
234 EntryType* newEntry = i_reference(from);
235 if ( !(0 == newEntry) ) {
236 newEntry->push_back( to );
237 return true;
238 }
239 return false;
240 }
241 entry->push_back( to );
242 return true;
243 }
RefTableBase< FROM, SmartRefVector< TO > >::i_reference
EntryType * i_reference(const KeyType *from)
Find Reference from it&#39;s source entry.
Definition: RefTable.h:78
RefTableBase< FROM, SmartRefVector< TO > >::EntryType
SmartRefVector< TO > EntryType
Definition: RefTable.h:50
RefTableBase< FROM, SmartRefVector< TO > >::insertMapElement
bool insertMapElement(const KeyType *from, EntryType &to)
Insert new Entry into Reference container.
Definition: RefTable.h:74
template<class FROM , class TO >

bool RefTable1toN< FROM, TO >::insert | ( | const FROM * | from,
|  | const EntryType & | to
| ) |  |
| inline

Insert new Entry into Reference container.

Definition at line 245 of file RefTable.h.

245 {
246 return insertMapElement(from, const_cast<EntryType&>(to));
247 }
RefTableBase< FROM, SmartRefVector< TO > >::insertMapElement
bool insertMapElement(const KeyType *from, EntryType &to)
Insert new Entry into Reference container.
Definition: RefTable.h:74
template<class FROM , class TO >

bool RefTable1toN< FROM, TO >::isReferenced | ( | const FROM * | from,
|  | const EntryType & | to
| ) |  |
| inline

Check if two entries are Referenced to each other.

Definition at line 261 of file RefTable.h.

261 {
262 auto e = i_reference(from);
263 return e && ( *e == to );
264 }
RefTableBase< FROM, SmartRefVector< TO > >::i_reference
EntryType * i_reference(const KeyType *from)
Find Reference from it&#39;s source entry.
Definition: RefTable.h:78
template<class FROM , class TO >

bool RefTable1toN< FROM, TO >::isReferenced | ( | const FROM * | from,
|  | const TO * | to
| ) |  |
| inline

Check if two entries are Referenced to each other.

Definition at line 266 of file RefTable.h.

266 {
267 return isReferenced(from, SmartRef<TO>(to));
268 }
SmartRef
Kernel objects: SmartRef.
Definition: SmartRef.h:62
RefTable1toN::isReferenced
bool isReferenced(const FROM *from, const EntryType &to)
Check if two entries are Referenced to each other.
Definition: RefTable.h:261
template<class FROM , class TO >

bool RefTable1toN< FROM, TO >::isReferenced | ( | const FROM * | from,
|  | const SmartRef< TO > & | to
| ) |  |
| inline

Check if two entries are Referenced to each other.

Definition at line 270 of file RefTable.h.

270 {
271 const EntryType* e = i_reference(from);
272 return assoc && std::find(e->begin(), e->end(), to) != e->end();
273 }
RefTableBase< FROM, SmartRefVector< TO > >::i_reference
EntryType * i_reference(const KeyType *from)
Find Reference from it&#39;s source entry.
Definition: RefTable.h:78
std::find
T find(T...args)
RefTableBase< FROM, SmartRefVector< TO > >::EntryType
SmartRefVector< TO > EntryType
Definition: RefTable.h:50
template<class FROM , class TO >

EntryType& RefTable1toN< FROM, TO >::reference | ( | const FROM * | from | ) |
| inline

Find Reference from it's source entry.

Definition at line 249 of file RefTable.h.

249 {
250 static EntryType empty;
251 EntryType* e = i_reference(from);
252 return e ? *e : empty;
253 }
RefTableBase< FROM, SmartRefVector< TO > >::i_reference
EntryType * i_reference(const KeyType *from)
Find Reference from it&#39;s source entry.
Definition: RefTable.h:78
RefTableBase< FROM, SmartRefVector< TO > >::EntryType
SmartRefVector< TO > EntryType
Definition: RefTable.h:50
template<class FROM , class TO >

const EntryType& RefTable1toN< FROM, TO >::reference | ( | const FROM * | from | ) | const
| inline

Find Reference from it's source entry (CONST)

Definition at line 255 of file RefTable.h.

255 {
256 static const EntryType empty;
257 EntryType* e = i_reference(from);
258 return e ? *e : empty;
259 }
RefTableBase< FROM, SmartRefVector< TO > >::i_reference
EntryType * i_reference(const KeyType *from)
Find Reference from it&#39;s source entry.
Definition: RefTable.h:78
RefTableBase< FROM, SmartRefVector< TO > >::EntryType
SmartRefVector< TO > EntryType
Definition: RefTable.h:50

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

- GaudiKernel/GaudiKernel/RefTable.h