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

List of all members.

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.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines