All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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
}
 
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

Forward declaration of specialized redirection array object manager.

Definition at line 100 of file KeyedObjectManager.h.

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

Definition at line 96 of file KeyedObjectManager.h.

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

Object manipulator type definition.

Definition at line 21 of file KeyedObjectManager.h.

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

Definition at line 94 of file KeyedObjectManager.h.

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

Definition at line 98 of file KeyedObjectManager.h.

Enumeration Type Documentation

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 19 of file KeyedTraits.h.

19  {
21  OBJ_DELETED,
22  OBJ_ERASED,
23  OBJ_INSERTED,
25  };
Object was removed, but not deleted.
Definition: KeyedTraits.h:22
Object was removed from the container and deleted.
Definition: KeyedTraits.h:21
Object was inserted into the container.
Definition: KeyedTraits.h:23
Cannot insert object into container.
Definition: KeyedTraits.h:24
Object not present in the container.
Definition: KeyedTraits.h:20
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 19 of file KeyedTraits.h.

19  {
21  OBJ_DELETED,
22  OBJ_ERASED,
23  OBJ_INSERTED,
25  };
Object was removed, but not deleted.
Definition: KeyedTraits.h:22
Object was removed from the container and deleted.
Definition: KeyedTraits.h:21
Object was inserted into the container.
Definition: KeyedTraits.h:23
Cannot insert object into container.
Definition: KeyedTraits.h:24
Object not present in the container.
Definition: KeyedTraits.h:20

Function Documentation

GAUDI_API void Containers::cannotAssignObjectKey ( )

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

Definition at line 64 of file KeyedObjectManager.cpp.

64  {
65  throw GaudiException("Cannot assign key to keyed object! Object already has a key.",
66  "KeyedObject",
67  0);
68 }
Define general base for Gaudi exception.
GAUDI_API 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 69 of file KeyedObjectManager.cpp.

69  {
70  throw GaudiException("Cannot insert element to Keyed Container!",
71  "KeyedContainer",
72  0);
73 }
Define general base for Gaudi exception.
GAUDI_API 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 75 of file KeyedObjectManager.cpp.

75  {
76  throw GaudiException("Keyed Container structures are inconsistent - severe problem!",
77  "KeyedContainer",
78  0);
79 }
Define general base for Gaudi exception.
GAUDI_API 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 81 of file KeyedObjectManager.cpp.

81  {
82  throw GaudiException("Keyed Container cannot satisfy request - severe problem!",
83  "KeyedContainer",
84  0);
85 }
Define general base for Gaudi exception.

Variable Documentation

Parametrisation class for redirection array - like implementation.

Definition at line 27 of file KeyedObjectManager.h.

Parametrisation class for hashmap-like implementation.

Definition at line 23 of file KeyedObjectManager.h.

Parametrisation class for map-like implementation.

Definition at line 25 of file KeyedObjectManager.h.

Parametrisation class for vector-like implementation.

Definition at line 29 of file KeyedObjectManager.h.