The Gaudi Framework  master (37c0b60a)
Containers Namespace Reference

Containers namespace. More...

Classes

struct  array
 
class  find
 
struct  hashmap
 
struct  key_traits
 Key traits class. More...
 
class  KeyedObjectManager
 KeyedObjectManager Class to manage keyed objects. More...
 
struct  map
 
struct  traits
 Container traits class. More...
 
struct  vector
 

Typedefs

typedef long(* MANIPULATOR) (void *)
 Object manipulator type definition. More...
 
typedef KeyedObjectManager< mapMap
 Forward declaration of specialized std::map-like object manager. More...
 
typedef KeyedObjectManager< hashmapHashMap
 Forward declaration of specialized std::hashmap-like object manager. More...
 
typedef KeyedObjectManager< vectorVector
 Forward declaration of specialized std::vector-like object manager. More...
 
typedef KeyedObjectManager< arrayArray
 Forward declaration of specialized redirection array object manager. More...
 

Enumerations

enum  {
  OBJ_NOT_FOUND, OBJ_DELETED, OBJ_ERASED, OBJ_INSERTED,
  OBJ_CANNOT_INSERT
}
 

Functions

GAUDI_API void cannotInsertToContainer ()
 Function to be called to indicate that an object cannot be inserted to the container. More...
 
GAUDI_API void containerIsInconsistent ()
 Function to be called to indicate that the container is found to be inconsistent. More...
 
GAUDI_API void invalidContainerOperation ()
 Function to be called to indicate that an operation should be performed on the container or it's contained data, which is not allowed. More...
 
GAUDI_API void cannotAssignObjectKey ()
 Function to be called when an object key cannot be assigned. More...
 

Variables

struct GAUDI_API hashmap
 Parametrisation class for hashmap-like implementation. More...
 
struct GAUDI_API map
 Parametrisation class for map-like implementation. More...
 
struct GAUDI_API array
 Parametrisation class for redirection array - like implementation. More...
 
struct GAUDI_API vector
 Parametrisation class for vector-like implementation. More...
 

Detailed Description

Containers namespace.

Typedef Documentation

◆ Array

Forward declaration of specialized redirection array object manager.

Definition at line 111 of file KeyedObjectManager.h.

◆ HashMap

Forward declaration of specialized std::hashmap-like object manager.

Definition at line 107 of file KeyedObjectManager.h.

◆ MANIPULATOR

typedef long( * Containers::MANIPULATOR) (void *)

Object manipulator type definition.

Definition at line 31 of file KeyedObjectManager.h.

◆ Map

Forward declaration of specialized std::map-like object manager.

Definition at line 105 of file KeyedObjectManager.h.

◆ Vector

Forward declaration of specialized std::vector-like object manager.

Definition at line 109 of file KeyedObjectManager.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
OBJ_NOT_FOUND 

Object not present in the container.


OBJ_DELETED 

Object was removed from the container and deleted.

OBJ_ERASED 

Object was removed, but not deleted

OBJ_INSERTED 

Object was inserted into the container.


OBJ_CANNOT_INSERT 

Cannot insert object into container.


Definition at line 32 of file KeyedTraits.h.

32  {
34  OBJ_DELETED,
35  OBJ_ERASED,
36  OBJ_INSERTED,
38  };

Function Documentation

◆ cannotAssignObjectKey()

void Containers::cannotAssignObjectKey ( )

Function to be called when an object key cannot be assigned.


Definition at line 79 of file KeyedObjectManager.cpp.

79  {
80  throw GaudiException( "Cannot assign key to keyed object! Object already has a key.", "KeyedObject",
82 }

◆ cannotInsertToContainer()

void Containers::cannotInsertToContainer ( )

Function to be called to indicate that an object cannot be inserted to the container.

Internally an exception is thrown.

Definition at line 83 of file KeyedObjectManager.cpp.

83  {
84  throw GaudiException( "Cannot insert element to Keyed Container!", "KeyedContainer", StatusCode::FAILURE );
85 }

◆ containerIsInconsistent()

void Containers::containerIsInconsistent ( )

Function to be called to indicate that the container is found to be inconsistent.

Internally an exception is thrown.

Definition at line 87 of file KeyedObjectManager.cpp.

87  {
88  throw GaudiException( "Keyed Container structures are inconsistent - severe problem!", "KeyedContainer",
90 }

◆ invalidContainerOperation()

void Containers::invalidContainerOperation ( )

Function to be called to indicate that an operation should be performed on the container or it's contained data, which is not allowed.

Internally an exception is thrown.

Definition at line 92 of file KeyedObjectManager.cpp.

92  {
93  throw GaudiException( "Keyed Container cannot satisfy request - severe problem!", "KeyedContainer",
95 }

Variable Documentation

◆ array

Parametrisation class for redirection array - like implementation.

Definition at line 31 of file KeyedObjectManager.h.

◆ hashmap

Parametrisation class for hashmap-like implementation.

Definition at line 31 of file KeyedObjectManager.h.

◆ map

Parametrisation class for map-like implementation.

Definition at line 31 of file KeyedObjectManager.h.

◆ vector

Parametrisation class for vector-like implementation.

Definition at line 31 of file KeyedObjectManager.h.

Containers::OBJ_ERASED
@ OBJ_ERASED
Object was removed, but not deleted
Definition: KeyedTraits.h:35
Containers::OBJ_INSERTED
@ OBJ_INSERTED
Object was inserted into the container.
Definition: KeyedTraits.h:36
GaudiException
Definition: GaudiException.h:31
Containers::OBJ_CANNOT_INSERT
@ OBJ_CANNOT_INSERT
Cannot insert object into container.
Definition: KeyedTraits.h:37
Containers::OBJ_DELETED
@ OBJ_DELETED
Object was removed from the container and deleted.
Definition: KeyedTraits.h:34
Containers::OBJ_NOT_FOUND
@ OBJ_NOT_FOUND
Object not present in the container.
Definition: KeyedTraits.h:33
StatusCode::FAILURE
constexpr static const auto FAILURE
Definition: StatusCode.h:101