Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/containers/list.hfa

    r7ee3c87 rfd54fef  
    8383                (this.is_terminator){ 1 };
    8484        }
    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 );
    9489        }
    9590        struct $dlinks {
     
    186181
    187182        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);
    190185                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);
    193188                $prev_link(singleton_to_insert) = & $tempcv_n2e(list_pos);
    194189                $next_link(singleton_to_insert) = $next_link(list_pos);
     
    209204
    210205        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);
    213208                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);
    216211                $next_link(singleton_to_insert) = & $tempcv_n2e(list_pos);
    217212                $prev_link(singleton_to_insert) = $prev_link(list_pos);
     
    232227
    233228    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);
    236231                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);
    239234
    240235                $prev_link(singleton_to_insert) = (void*) &list;
     
    254249
    255250    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);
    258253                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);
    261256
    262257                $next_link(singleton_to_insert) = (void*) &list;
     
    276271
    277272    static inline void remove(Tnode &list_pos) {
    278                 verify( &list_pos != 0p );
     273                assert( &list_pos != 0p );
    279274
    280275                $mgd_link(Telem) &incoming_from_prev = *0p;
     
    313308
    314309        static inline bool ?`is_empty(dlist(Tnode, Telem) &list) {
    315                 verify( &list != 0p );
     310                assert( &list != 0p );
    316311                $dlinks(Telem) *listLinks = & list.$links;
    317312                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);
    321316                        return true;
    322317                } 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);
    326321                        return false;
    327322                }
     
    329324
    330325        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 );
    333328                $dlinks(Telem) *listLinks = & list.$links;
    334329                Telem & first = *listLinks->next.elem;
     
    339334
    340335        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 );
    343338                $dlinks(Telem) *listLinks = & list.$links;
    344339                Telem & last = *listLinks->prev.elem;
Note: See TracChangeset for help on using the changeset viewer.