Changeset 94:a4688e4138ec in lemon-main
- Timestamp:
- 03/18/08 13:57:15 (17 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/concepts/maps.h
r79 r94 48 48 49 49 /// Returns the value associated with the given key. 50 51 /// Returns the value associated with the given key. 52 /// \bug Value shouldn't need to be default constructible. 53 Value operator[](const Key &) const { return Value(); } 50 Value operator[](const Key &) const { 51 return *static_cast<Value *>(0); 52 } 54 53 55 54 template<typename _ReadMap> … … 127 126 128 127 /// Returns the value associated with the given key. 129 Value operator[](const Key &) const { return Value(); } 128 Value operator[](const Key &) const { 129 return *static_cast<Value *>(0); 130 } 130 131 131 132 /// Sets the value associated with the given key. … … 161 162 typedef CR ConstReference; 162 163 163 protected:164 Value tmp;165 164 public: 166 165 167 166 /// Returns a reference to the value associated with the given key. 168 Reference operator[](const Key &) { return tmp; } 167 Reference operator[](const Key &) { 168 return *static_cast<Value *>(0); 169 } 169 170 170 171 /// Returns a const reference to the value associated with the given key. 171 ConstReference operator[](const Key &) const { return tmp; } 172 ConstReference operator[](const Key &) const { 173 return *static_cast<Value *>(0); 174 } 172 175 173 176 /// Sets the value associated with the given key. -
test/maps_test.cc
r82 r94 32 32 inline bool operator<(A, A) { return true; } 33 33 struct B {}; 34 35 class C { 36 int x; 37 public: 38 C(int _x) : x(_x) {} 39 }; 34 40 35 41 class F { … … 59 65 // Map concepts 60 66 checkConcept<ReadMap<A,B>, ReadMap<A,B> >(); 67 checkConcept<ReadMap<A,C>, ReadMap<A,C> >(); 61 68 checkConcept<WriteMap<A,B>, WriteMap<A,B> >(); 69 checkConcept<WriteMap<A,C>, WriteMap<A,C> >(); 62 70 checkConcept<ReadWriteMap<A,B>, ReadWriteMap<A,B> >(); 71 checkConcept<ReadWriteMap<A,C>, ReadWriteMap<A,C> >(); 63 72 checkConcept<ReferenceMap<A,B,B&,const B&>, ReferenceMap<A,B,B&,const B&> >(); 73 checkConcept<ReferenceMap<A,C,C&,const C&>, ReferenceMap<A,C,C&,const C&> >(); 64 74 65 75 // NullMap
Note: See TracChangeset
for help on using the changeset viewer.