COIN-OR::LEMON - Graph Library

Changeset 123:8899d1891a3c in lemon


Ignore:
Timestamp:
04/08/08 22:51:26 (17 years ago)
Author:
Peter Kovacs <kpeter@…>
Branch:
default
Phase:
public
Message:

Small improvements in maps.h

  • Add a new version of constMap() function.
  • Fix in FunctorToMap? class.
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • lemon/maps.h

    r104 r123  
    117117
    118118    /// Constructor with specified initial value.
    119     /// \param v is the initial value of the map.
     119    /// \param v The initial value of the map.
    120120    ConstMap(const Value &v) : _value(v) {}
    121121
     
    142142  inline ConstMap<K, V> constMap(const V &v) {
    143143    return ConstMap<K, V>(v);
     144  }
     145
     146  template<typename K, typename V>
     147  inline ConstMap<K, V> constMap() {
     148    return ConstMap<K, V>();
    144149  }
    145150
     
    614619           typename V = typename F::result_type>
    615620  class FunctorToMap : public MapBase<K, V> {
    616     const F &_f;
     621    F _f;
    617622  public:
    618623    typedef MapBase<K, V> Parent;
  • test/maps_test.cc

    r94 r123  
    8484  {
    8585    checkConcept<ReadWriteMap<A,B>, ConstMap<A,B> >();
     86    checkConcept<ReadWriteMap<A,C>, ConstMap<A,C> >();
    8687    ConstMap<A,B> map1;
    8788    ConstMap<A,B> map2(B());
    8889    ConstMap<A,B> map3 = map1;
    8990    map1 = constMap<A>(B());
     91    map1 = constMap<A,B>();
    9092    map1.setAll(B());
     93    ConstMap<A,C> map4(C(1));
     94    ConstMap<A,C> map5 = map4;
     95    map4 = constMap<A>(C(2));
     96    map4.setAll(C(3));
    9197
    9298    checkConcept<ReadWriteMap<A,int>, ConstMap<A,int> >();
     
    94100
    95101    checkConcept<ReadWriteMap<A,int>, ConstMap<A,Const<int,10> > >();
    96     ConstMap<A,Const<int,10> > map4;
    97     ConstMap<A,Const<int,10> > map5 = map4;
    98     map4 = map5;
    99     check(map4[A()] == 10 && map5[A()] == 10, "Something is wrong with ConstMap");
     102    ConstMap<A,Const<int,10> > map6;
     103    ConstMap<A,Const<int,10> > map7 = map6;
     104    map6 = constMap<A,int,10>();
     105    map7 = constMap<A,Const<int,10> >();
     106    check(map6[A()] == 10 && map7[A()] == 10, "Something is wrong with ConstMap");
    100107  }
    101108
Note: See TracChangeset for help on using the changeset viewer.