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);
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.
#include <lemon/maps.h>
Public Types | |
typedef M2::Key | Key |
| |
typedef M1::Value | Value |
| |
Public Member Functions | |
ComposeMap (const M1 &m1, const M2 &m2) | |
Constructor. | |
MapTraits< M1 >::ConstReturnValue | operator[] (const Key &k) const |
| |
Related Functions | |
(Note that these are not member functions.) | |
template<typename M1 , typename M2 > | |
ComposeMap< M1, M2 > | composeMap (const M1 &m1, const M2 &m2) |
Returns a ComposeMap class. |