| 278 | */ |
| 279 | template<class View> |
| 280 | void |
| 281 | CachedView<View>::update(Space& home, CachedView<View>& y) { |
| 282 | DerivedView<View>::update(home,y); |
| 283 | if (y._firstRange) { |
| 284 | _firstRange = new (home) RangeList(y._firstRange->min(), |
| 285 | y._firstRange->max(),nullptr); |
| 286 | RangeList* cur = _firstRange; |
| 287 | |
| 288 | for (RangeList* y_cur = y._firstRange->next(); y_cur != nullptr; |
| 289 | y_cur = y_cur->next()) { |
| 290 | RangeList* next = |
| 291 | new (home) RangeList(y_cur->min(),y_cur->max(),nullptr); |
| 292 | cur->next(next); |
| 293 | cur = next; |
| 294 | } |
| 295 | _lastRange = cur; |
| 296 | _size = y._size; |
| 297 | } |
| 298 | } |
| 299 | |
| 300 | |
| 301 | /* |