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

Detailed Description

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

This read-only map returns the logical 'or' of the values of the two given maps. Its Key type is inherited from M1 and its Value type is bool. M2::Key must be convertible to M1::Key.

If m1 is of type M1 and m2 is of M2, then for

OrMap<M1,M2> om(m1,m2);

om[x] will be equal to m1[x]||m2[x].

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

See Also
AndMap
NotMap, NotWriteMap

#include <lemon/maps.h>

+ Inheritance diagram for OrMap< M1, M2 >:

Public Types

typedef M1::Key Key
 
 
typedef bool Value
 
 
- Public Types inherited from MapBase< M1::Key, bool >
typedef M1::Key Key
 The key type of the map.
 
typedef bool Value
 The value type of the map. (The type of objects associated with the keys).
 

Public Member Functions

 OrMap (const M1 &m1, const M2 &m2)
 Constructor.
 
Value operator[] (const Key &k) const
 
 

Related Functions

(Note that these are not member functions.)

template<typename M1 , typename M2 >
OrMap< M1, M2 > orMap (const M1 &m1, const M2 &m2)
 Returns an OrMap class.