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

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);
*

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 >:

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 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. More...