Changeset e9b5043 for src/GenPoly/ErasableScopedMap.h
- Timestamp:
- Feb 3, 2023, 3:11:51 PM (20 months ago)
- Branches:
- ADT, ast-experimental, master
- Children:
- 21a2a7d
- Parents:
- 2f61765
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/GenPoly/ErasableScopedMap.h
r2f61765 re9b5043 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // ScopedMap.h --7 // ErasableScopedMap.h -- 8 8 // 9 9 // Author : Aaron B. Moss … … 118 118 std::pair< iterator, bool > insert( const Key &key, const Value &value ) { return insert( std::make_pair( key, value ) ); } 119 119 120 Value& operator[] ( const Key &key ) { 121 iterator slot = find( key ); 122 if ( slot != end() ) return slot->second; 123 return insert( key, Value() ).first->second; 124 } 125 120 126 /// Marks the given element as erased from this scope inward; returns 1 for erased an element, 0 otherwise 121 127 size_type erase( const Key &key ) { … … 130 136 } 131 137 132 Value& operator[] ( const Key &key ) { 133 iterator slot = find( key ); 134 if ( slot != end() ) return slot->second; 135 return insert( key, Value() ).first->second; 138 bool contains( const Key & key ) const { 139 return find( key ) != cend(); 136 140 } 137 141 };
Note: See TracChangeset
for help on using the changeset viewer.