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

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# UniqueMap Struct Template Reference

Canonical type map. More...

List of all members.

## Public Types
typedef std::map< ti_slot, uniquelist_base * > | map_t
| The map type used.
## Static Public Member Functions
static map_t & | instance ()
| Access to the unique instance of this structure.
## Protected Member Functions
| UniqueMap ()
| Constructor for the class.
| ~UniqueMap ()
| Destructor for the class.
## Classes
struct | TiSlot
| Helper to make `std::type_info` into a valid key type for `std::map`. More...

## Detailed Description

### template<class T>
struct vcsn::misc::unique::UniqueMap< T >

Canonical type map.

This structure is a helper for the `get` operator, that retains associations between static types (represented by the `std::type_info` structure) and a hash map of dynamic values.

This structure is used for dynamic type instances canonicalization, i.e. storage and retrieval of unique instances of structural elements in Vaucanson.

See also:
  `vcsn::Structure`

Definition at line 72 of file unique.hh.

## Constructor & Destructor Documentation

UniqueMap | ( |  | ) | `[inline, protected]`

Constructor for the class.

It is protected so that no secondary instances may be created.

Definition at line 122 of file unique.hxx.

~UniqueMap | ( |  | ) | `[inline, protected]`

Destructor for the class.

This destructor actually destroys all stored canonical instances. Any further reference to the canonical values is invalid.

Definition at line 127 of file unique.hxx.