Advance should not be called on beyond-of-range iterators so no component iterators must be beyond end of range, either.
| 13929 | // Advance should not be called on beyond-of-range iterators |
| 13930 | // so no component iterators must be beyond end of range, either. |
| 13931 | virtual void Advance() { |
| 13932 | assert(!AtEnd()); |
| 13933 | ++current3_; |
| 13934 | if (current3_ == end3_) { |
| 13935 | current3_ = begin3_; |
| 13936 | ++current2_; |
| 13937 | } |
| 13938 | if (current2_ == end2_) { |
| 13939 | current2_ = begin2_; |
| 13940 | ++current1_; |
| 13941 | } |
| 13942 | ComputeCurrentValue(); |
| 13943 | } |
| 13944 | virtual ParamIteratorInterface<ParamType>* Clone() const { |
| 13945 | return new Iterator(*this); |
| 13946 | } |
nothing calls this directly
no outgoing calls
no test coverage detected