| # Gaudi Framework, version v20r4
Generated: 8 Jan 2009

# Containers Namespace Reference

## Detailed Description

Containers namespace.

## Classes
class | KeyedObjectManager
| KeyedObjectManager Class to manage keyed objects. More...
struct | key_traits
| Definition of the key traits class. More...
struct | traits
| Definition of the container traits class. More...
struct | hashmap
struct | map
struct | array
struct | vector
class | find
## Typedefs
typedef long(* | MANIPULATOR )(void *)
| Object manipulator type definition.
typedef KeyedObjectManager< map > | Map
| Forward declaration of specialized std::map-like object manager.
typedef KeyedObjectManager < hashmap > | HashMap
| Forward declaration of specialized std::hashmap-like object manager.
typedef KeyedObjectManager < vector > | Vector
| Forward declaration of specialized std::vector-like object manager.
typedef KeyedObjectManager< array > | Array
| Forward declaration of specialized redirection array object manager.
## Enumerations
enum | { OBJ_NOT_FOUND, OBJ_DELETED, OBJ_ERASED, OBJ_INSERTED, OBJ_CANNOT_INSERT }
## Functions
void | cannotInsertToContainer ()
| Function to be called to indicate that an object cannot be inserted to the container.
void | containerIsInconsistent ()
| Function to be called to indicate that the container is found to be inconsistent.
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.
void | cannotAssignObjectKey ()
| Function to be called when an object key cannot be assigned.

## Typedef Documentation

typedef KeyedObjectManager< array > Containers::Array

Forward declaration of specialized redirection array object manager.

Definition at line 101 of file KeyedObjectManager.h.

typedef KeyedObjectManager< hashmap > Containers::HashMap

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

Definition at line 97 of file KeyedObjectManager.h.

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

Object manipulator type definition.

Definition at line 22 of file KeyedObjectManager.h.

typedef KeyedObjectManager< map > Containers::Map

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

Definition at line 95 of file KeyedObjectManager.h.

typedef KeyedObjectManager< vector > Containers::Vector

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

Definition at line 99 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 20 of file KeyedTraits.h.

    00020        {
    00021     OBJ_NOT_FOUND,
    00022     OBJ_DELETED,
    00023     OBJ_ERASED,
    00024     OBJ_INSERTED,
    00025     OBJ_CANNOT_INSERT
    00026   };

## Function Documentation

void Containers::cannotAssignObjectKey | ( |  | ) |

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

Definition at line 67 of file KeyedObjectManager.cpp.

    00067                                          {
    00068   throw GaudiException("Cannot assign key to keyed object! Object already has a key.",
    00069                        "KeyedObject",
    00070                        0);
    00071 }

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 72 of file KeyedObjectManager.cpp.

    00072                                            {
    00073   throw GaudiException("Cannot insert element to Keyed Container!",
    00074                        "KeyedContainer",
    00075                        0);
    00076 }

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 78 of file KeyedObjectManager.cpp.

    00078                                            {
    00079   throw GaudiException("Keyed Container structures are inconsistent - severe problem!",
    00080                        "KeyedContainer",
    00081                        0);
    00082 }

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 84 of file KeyedObjectManager.cpp.

    00084                                              {
    00085   throw GaudiException("Keyed Container cannot satisfy request - severe problem!",
    00086                        "KeyedContainer",
    00087                        0);
    00088 }