| 215 | |
| 216 | template<class I> |
| 217 | inline RangeListIter::RangeList* |
| 218 | RangeListIter::copy(I& i) { |
| 219 | RangeList* h; |
| 220 | RangeList** c = &h; |
| 221 | for ( ; i(); ++i) { |
| 222 | RangeList* t = range(i); |
| 223 | *c = t; c = &t->next; |
| 224 | } |
| 225 | *c = nullptr; |
| 226 | return h; |
| 227 | } |
| 228 | |
| 229 | forceinline bool |
| 230 | RangeListIter::operator ()(void) const { |