All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
List of all members | Public Types | Public Member Functions | Related Functions
ForkMap< M1, M2 > Class Template Reference

Detailed Description

template<typename M1, typename M2>
class lemon::ForkMap< M1, M2 >

This map has two writable map parameters and each write request will be passed to both of them. If M1 is also readable, then the read operations will return the corresponding values of M1.

The Key and Value types are inherited from M1. The Key and Value of M2 must be convertible from those of M1.

The simplest way of using this map is through the forkMap() function.

#include <lemon/maps.h>

+ Inheritance diagram for ForkMap< M1, M2 >:

Public Types

typedef M1::Key Key
typedef M1::Value Value
- Public Types inherited from MapBase< M1::Key, M1::Value >
typedef M1::Key Key
 The key type of the map.
typedef M1::Value Value
 The value type of the map. (The type of objects associated with the keys).

Public Member Functions

 ForkMap (M1 &m1, M2 &m2)
Value operator[] (const Key &k) const
 Returns the value associated with the given key in the first map.
void set (const Key &k, const Value &v)
 Sets the value associated with the given key in both maps.

Related Functions

(Note that these are not member functions.)

template<typename M1 , typename M2 >
ForkMap< M1, M2 > forkMap (M1 &m1, M2 &m2)
 Returns a ForkMap class. More...