Changeset 7f1be01 for src/GenPoly/ScopedSet.h
- Timestamp:
- Jul 4, 2023, 2:54:31 PM (11 months ago)
- Branches:
- master
- Children:
- 4c2e561
- Parents:
- b2ecd48
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/GenPoly/ScopedSet.h
rb2ecd48 r7f1be01 47 47 /// Starts a new scope 48 48 void beginScope() { 49 Scope scope; 50 scopes.push_back(scope); 49 scopes.emplace_back(); 51 50 } 52 51 … … 85 84 iterator findNext( const_iterator &it, const Value &key ) { 86 85 if ( it.i == 0 ) return end(); 87 86 for ( size_type i = it.i - 1; ; --i ) { 88 87 typename Scope::iterator val = scopes[i].find( key ); 89 88 if ( val != scopes[i].end() ) return iterator( scopes, val, i ); … … 112 111 friend class ScopedSet; 113 112 friend class const_iterator; 114 typedef typename std::set< Value >::iterator wrapped_iterator; 115 typedef typename std::vector< std::set< Value > > scope_list; 116 typedef typename scope_list::size_type size_type; 113 typedef typename Scope::iterator wrapped_iterator; 114 typedef typename ScopeList::size_type size_type; 117 115 118 116 /// Checks if this iterator points to a valid item … … 133 131 } 134 132 135 iterator( scope_list const &_scopes, const wrapped_iterator &_it, size_type _i)133 iterator(ScopeList const &_scopes, const wrapped_iterator &_it, size_type _i) 136 134 : scopes(&_scopes), it(_it), i(_i) {} 137 135 public: … … 176 174 177 175 private: 178 scope_list const *scopes;176 ScopeList const *scopes; 179 177 wrapped_iterator it; 180 178 size_type i; … … 185 183 public std::iterator< std::bidirectional_iterator_tag, value_type > { 186 184 friend class ScopedSet; 187 typedef typename std::set< Value >::iterator wrapped_iterator; 188 typedef typename std::set< Value >::const_iterator wrapped_const_iterator; 189 typedef typename std::vector< std::set< Value > > scope_list; 190 typedef typename scope_list::size_type size_type; 185 typedef typename Scope::iterator wrapped_iterator; 186 typedef typename Scope::const_iterator wrapped_const_iterator; 187 typedef typename ScopeList::size_type size_type; 191 188 192 189 /// Checks if this iterator points to a valid item … … 207 204 } 208 205 209 const_iterator( scope_list const &_scopes, const wrapped_const_iterator &_it, size_type _i)206 const_iterator(ScopeList const &_scopes, const wrapped_const_iterator &_it, size_type _i) 210 207 : scopes(&_scopes), it(_it), i(_i) {} 211 208 public: … … 255 252 256 253 private: 257 scope_list const *scopes;254 ScopeList const *scopes; 258 255 wrapped_const_iterator it; 259 256 size_type i;
Note: See TracChangeset
for help on using the changeset viewer.