The Gaudi Framework  v30r3 (a5ef0a68)
Containers::traits< CONTAINER, DATATYPE > Struct Template Reference

Container traits class. More...

#include <GaudiKernel/KeyedTraits.h>

Inheritance diagram for Containers::traits< CONTAINER, DATATYPE >:
Collaboration diagram for Containers::traits< CONTAINER, DATATYPE >:

Static Public Member Functions

static bool checkBounds (const std::vector< DATATYPE * > *cnt, const typename DATATYPE::key_type &k)
 Allow to check the access to container elements for consistency. More...
 
- Static Public Member Functions inherited from Containers::key_traits< DATATYPE::key_type >
static key_type makeKey (long k)
 Create key from its full integer representation. More...
 
static key_type makeKey (int k)
 
static long identifier (const key_type &k)
 Full unhashed key identifier. More...
 
static long hash (const key_type &key_value)
 Hash function for this key. More...
 
static void setKey (obj_type *v, const key_type &k)
 Set object key when inserted into the container. More...
 
static bool checkKey (obj_type *v, const key_type &k)
 Check the validity of the object's key. More...
 
static long addRef (obj_type *v)
 Add reference counter to object when inserted into the container. More...
 
static long release (obj_type *v)
 Release reference to object. More...
 

Additional Inherited Members

- Public Types inherited from Containers::key_traits< DATATYPE::key_type >
typedef DATATYPE::key_type key_type
 Declaration of key-type. More...
 
typedef KeyedObject< key_typeobj_type
 Declaration of keyed object type. More...
 

Detailed Description

template<class CONTAINER, class DATATYPE>
struct Containers::traits< CONTAINER, DATATYPE >

Container traits class.

Definition of the container traits class.

Select if container-checks should be performed by switching on/off the macro CHECK_KEYED_CONTAINER.

Author
M.Frank CERN/LHCb
Version
1.0

Definition at line 35 of file KeyedTraits.h.

Member Function Documentation

template<class CONTAINER , class DATATYPE >
static bool Containers::traits< CONTAINER, DATATYPE >::checkBounds ( const std::vector< DATATYPE * > *  cnt,
const typename DATATYPE::key_type &  k 
)
inlinestatic

Allow to check the access to container elements for consistency.

Definition at line 120 of file KeyedTraits.h.

121  {
122 #ifdef CHECK_KEYED_CONTAINER
123  return size_t( cnt->size() ) > size_t( traits::hash( k ) );
124 #else
125  return true;
126 #endif
127  }
static long hash(const key_type &key_value)
Hash function for this key.
Definition: KeyedTraits.h:85
T size(T...args)

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