Loading...
Searching...
No Matches
ForkMap< M1, M2 > Class Template Reference
Data Structures » Maps » Map Adaptors

## 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 >:
[legend]

## 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)
| Constructor.
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 Symbols

(Note that these are not member symbols.)
template<typename M1, typename M2>
ForkMap< M1, M2 > | forkMap (M1 &m1, M2 &m2)
| Returns a `ForkMap` class.