Advance should not be called on beyond-of-range iterators so no component iterators must be beyond end of range, either.
| 15017 | // Advance should not be called on beyond-of-range iterators |
| 15018 | // so no component iterators must be beyond end of range, either. |
| 15019 | virtual void Advance() { |
| 15020 | assert(!AtEnd()); |
| 15021 | ++current9_; |
| 15022 | if (current9_ == end9_) { |
| 15023 | current9_ = begin9_; |
| 15024 | ++current8_; |
| 15025 | } |
| 15026 | if (current8_ == end8_) { |
| 15027 | current8_ = begin8_; |
| 15028 | ++current7_; |
| 15029 | } |
| 15030 | if (current7_ == end7_) { |
| 15031 | current7_ = begin7_; |
| 15032 | ++current6_; |
| 15033 | } |
| 15034 | if (current6_ == end6_) { |
| 15035 | current6_ = begin6_; |
| 15036 | ++current5_; |
| 15037 | } |
| 15038 | if (current5_ == end5_) { |
| 15039 | current5_ = begin5_; |
| 15040 | ++current4_; |
| 15041 | } |
| 15042 | if (current4_ == end4_) { |
| 15043 | current4_ = begin4_; |
| 15044 | ++current3_; |
| 15045 | } |
| 15046 | if (current3_ == end3_) { |
| 15047 | current3_ = begin3_; |
| 15048 | ++current2_; |
| 15049 | } |
| 15050 | if (current2_ == end2_) { |
| 15051 | current2_ = begin2_; |
| 15052 | ++current1_; |
| 15053 | } |
| 15054 | ComputeCurrentValue(); |
| 15055 | } |
| 15056 | virtual ParamIteratorInterface<ParamType>* Clone() const { |
| 15057 | return new Iterator(*this); |
| 15058 | } |
nothing calls this directly
no outgoing calls
no test coverage detected