Changes in libcfa/src/bits/queue.hfa [636d3715:3d0560d]
- File:
-
- 1 edited
-
libcfa/src/bits/queue.hfa (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/bits/queue.hfa
r636d3715 r3d0560d 15 15 } // post: empty() & head() == 0 | !empty() & head() in *q 16 16 17 bool empty( Queue(T) & q ) with( q ) { // 0 <=> *q contains no elements 18 return empty( (Collection &)q ); 19 } 20 21 bool listed( T * n ) { 22 return Next( (Colable *)n ) != 0; 23 } 24 25 T *& Next( T * n ) { 26 return (T *)Next( (Colable *)n ); 27 } 28 29 T * Root( Queue(T) & q ) with( q ) { 30 return (T *)root; 31 } 32 17 33 void ?{}( Queue(T) &, const Queue(T) & ) = void; // no copy 18 34 Queue(T) & ?=?( const Queue(T) & ) = void; // no assignment … … 39 55 #endif // __CFA_DEBUG__ 40 56 if ( last ) { 41 Next( n ) = head( q );57 Next( n ) = Root( q ); 42 58 q.root = n; 43 59 } else { … … 65 81 if ( root ) { 66 82 root = Next( root ); 67 if ( head( q ) == t ) {83 if ( Root( q ) == t ) { 68 84 root = last = 0p; // only one element 69 85 } … … 116 132 root = from.root; 117 133 } else { // "to" list not empty 118 Next( last ) = head( from );134 Next( last ) = Root( from ); 119 135 } 120 136 last = from.last; … … 132 148 to.last = n; // end of "to" list 133 149 from.root = Next( n ); // start of "from" list 134 if ( n == head( from ) ) { // last node in list ?150 if ( n == Root( from ) ) { // last node in list ? 135 151 from.root = from.last = 0p; // mark "from" list empty 136 152 } else { … … 148 164 149 165 inline { 166 // wrappers to make ColIter have T 167 T * Curr( QueueIter(T) & qi ) with( qi ) { 168 return (T *)curr; 169 } 170 150 171 void ?{}( QueueIter(T) & qi ) with( qi ) { 151 172 ((ColIter &)qi){};
Note:
See TracChangeset
for help on using the changeset viewer.