Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/GenPoly/ErasableScopedMap.h

    re9b5043 rc1fb3903  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // ErasableScopedMap.h --
     7// ScopedMap.h --
    88//
    99// Author           : Aaron B. Moss
     
    5151        typedef typename Scope::const_pointer const_pointer;
    5252
    53         // Both iterator types are complete bidirectional iterators, see below.
     53        // Both iterator types are complete bidirection iterators, defined below.
    5454        class iterator;
    5555        class const_iterator;
     
    118118        std::pair< iterator, bool > insert( const Key &key, const Value &value ) { return insert( std::make_pair( key, value ) ); }
    119119
    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 
    126120        /// Marks the given element as erased from this scope inward; returns 1 for erased an element, 0 otherwise
    127121        size_type erase( const Key &key ) {
     
    136130        }
    137131
    138         bool contains( const Key & key ) const {
    139                 return find( key ) != cend();
     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;
    140136        }
    141137};
Note: See TracChangeset for help on using the changeset viewer.