Advance should not be called on beyond-of-range iterators so no component iterators must be beyond end of range, either.
| 14393 | // Advance should not be called on beyond-of-range iterators |
| 14394 | // so no component iterators must be beyond end of range, either. |
| 14395 | virtual void Advance() { |
| 14396 | assert(!AtEnd()); |
| 14397 | ++current6_; |
| 14398 | if (current6_ == end6_) { |
| 14399 | current6_ = begin6_; |
| 14400 | ++current5_; |
| 14401 | } |
| 14402 | if (current5_ == end5_) { |
| 14403 | current5_ = begin5_; |
| 14404 | ++current4_; |
| 14405 | } |
| 14406 | if (current4_ == end4_) { |
| 14407 | current4_ = begin4_; |
| 14408 | ++current3_; |
| 14409 | } |
| 14410 | if (current3_ == end3_) { |
| 14411 | current3_ = begin3_; |
| 14412 | ++current2_; |
| 14413 | } |
| 14414 | if (current2_ == end2_) { |
| 14415 | current2_ = begin2_; |
| 14416 | ++current1_; |
| 14417 | } |
| 14418 | ComputeCurrentValue(); |
| 14419 | } |
| 14420 | virtual ParamIteratorInterface<ParamType>* Clone() const { |
| 14421 | return new Iterator(*this); |
| 14422 | } |
nothing calls this directly
no outgoing calls
no test coverage detected