Changes in libcfa/src/containers/list.hfa [7ee3c87:fd54fef]
- File:
-
- 1 edited
-
libcfa/src/containers/list.hfa (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/containers/list.hfa
r7ee3c87 rfd54fef 83 83 (this.is_terminator){ 1 }; 84 84 } 85 static inline void ?=?( $mgd_link(tE) &this, tE* elem ) { 86 this.elem = elem ; 87 this.terminator = 0p; 88 this.is_terminator = 0; 89 } 90 static inline void ?=?( $mgd_link(tE) &this, void * terminator ) { 91 this.elem = 0p; 92 this.terminator = terminator; 93 this.is_terminator = 1; 85 forall ( tInit | { void ?{}( $mgd_link(tE) &, tInit); } ) 86 static inline void ?=?( $mgd_link(tE) &this, tInit i ) { 87 ^?{}( this ); 88 ?{}( this, i ); 94 89 } 95 90 struct $dlinks { … … 186 181 187 182 static inline void insert_after(Tnode &list_pos, Telem &to_insert) { 188 verify(&list_pos != 0p);189 verify(&to_insert != 0p);183 assert (&list_pos != 0p); 184 assert (&to_insert != 0p); 190 185 Tnode &singleton_to_insert = $tempcv_e2n(to_insert); 191 verify($prev_link(singleton_to_insert).elem == 0p);192 verify($next_link(singleton_to_insert).elem == 0p);186 assert($prev_link(singleton_to_insert).elem == 0p); 187 assert($next_link(singleton_to_insert).elem == 0p); 193 188 $prev_link(singleton_to_insert) = & $tempcv_n2e(list_pos); 194 189 $next_link(singleton_to_insert) = $next_link(list_pos); … … 209 204 210 205 static inline void insert_before(Tnode &list_pos, Telem &to_insert) { 211 verify(&list_pos != 0p);212 verify(&to_insert != 0p);206 assert (&list_pos != 0p); 207 assert (&to_insert != 0p); 213 208 Tnode &singleton_to_insert = $tempcv_e2n(to_insert); 214 verify($prev_link(singleton_to_insert).elem == 0p);215 verify($next_link(singleton_to_insert).elem == 0p);209 assert($prev_link(singleton_to_insert).elem == 0p); 210 assert($next_link(singleton_to_insert).elem == 0p); 216 211 $next_link(singleton_to_insert) = & $tempcv_n2e(list_pos); 217 212 $prev_link(singleton_to_insert) = $prev_link(list_pos); … … 232 227 233 228 static inline void insert_first(dlist(Tnode, Telem) &list, Telem &to_insert) { 234 verify(&list != 0p);235 verify(&to_insert != 0p);229 assert (&list != 0p); 230 assert (&to_insert != 0p); 236 231 Tnode &singleton_to_insert = $tempcv_e2n(to_insert); 237 verify($prev_link(singleton_to_insert).elem == 0p);238 verify($next_link(singleton_to_insert).elem == 0p);232 assert($prev_link(singleton_to_insert).elem == 0p); 233 assert($next_link(singleton_to_insert).elem == 0p); 239 234 240 235 $prev_link(singleton_to_insert) = (void*) &list; … … 254 249 255 250 static inline void insert_last(dlist(Tnode, Telem) &list, Telem &to_insert) { 256 verify(&list != 0p);257 verify(&to_insert != 0p);251 assert (&list != 0p); 252 assert (&to_insert != 0p); 258 253 Tnode &singleton_to_insert = $tempcv_e2n(to_insert); 259 verify($next_link(singleton_to_insert).elem == 0p);260 verify($prev_link(singleton_to_insert).elem == 0p);254 assert($next_link(singleton_to_insert).elem == 0p); 255 assert($prev_link(singleton_to_insert).elem == 0p); 261 256 262 257 $next_link(singleton_to_insert) = (void*) &list; … … 276 271 277 272 static inline void remove(Tnode &list_pos) { 278 verify( &list_pos != 0p );273 assert( &list_pos != 0p ); 279 274 280 275 $mgd_link(Telem) &incoming_from_prev = *0p; … … 313 308 314 309 static inline bool ?`is_empty(dlist(Tnode, Telem) &list) { 315 verify( &list != 0p );310 assert( &list != 0p ); 316 311 $dlinks(Telem) *listLinks = & list.$links; 317 312 if (listLinks->next.is_terminator) { 318 verify(listLinks->prev.is_terminator);319 verify(listLinks->next.terminator);320 verify(listLinks->prev.terminator);313 assert(listLinks->prev.is_terminator); 314 assert(listLinks->next.terminator); 315 assert(listLinks->prev.terminator); 321 316 return true; 322 317 } else { 323 verify(!listLinks->prev.is_terminator);324 verify(listLinks->next.elem);325 verify(listLinks->prev.elem);318 assert(!listLinks->prev.is_terminator); 319 assert(listLinks->next.elem); 320 assert(listLinks->prev.elem); 326 321 return false; 327 322 } … … 329 324 330 325 static inline Telem & pop_first(dlist(Tnode, Telem) &list) { 331 verify( &list != 0p );332 verify( !list`is_empty );326 assert( &list != 0p ); 327 assert( !list`is_empty ); 333 328 $dlinks(Telem) *listLinks = & list.$links; 334 329 Telem & first = *listLinks->next.elem; … … 339 334 340 335 static inline Telem & pop_last(dlist(Tnode, Telem) &list) { 341 verify( &list != 0p );342 verify( !list`is_empty );336 assert( &list != 0p ); 337 assert( !list`is_empty ); 343 338 $dlinks(Telem) *listLinks = & list.$links; 344 339 Telem & last = *listLinks->prev.elem;
Note:
See TracChangeset
for help on using the changeset viewer.