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

## Detailed Description

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

This read-only map returns the composition of two given maps. That is to say, if `m1` is of type `M1` and `m2` is of `M2`, then for

ComposeMap<M1, M2> cm(m1,m2);
lemon::ComposeMap::ComposeMap
ComposeMap(const M1 &m1, const M2 &m2)
Constructor.
Definition maps.h:499

cm[x] will be equal to m1[m2[x]].

The `Key` type of the map is inherited from `M2` and the `Value` type is from `M1`. `M2::Value` must be convertible to `M1::Key`.

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

See also
  CombineMap

`#include <lemon/maps.h>`

Inheritance diagram for ComposeMap< M1, M2 >:
[legend]

## Public Types

typedef M2::Key | Key
typedef M1::Value | Value
Public Types inherited from MapBase< M2::Key, M1::Value >
typedef M2::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

| ComposeMap (const M1 &m1, const M2 &m2)
| Constructor.
MapTraits< M1 >::ConstReturnValue | operator[] (const Key &k) const

## Related Symbols

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