26 this->name = that.
name;
32 this->name = that.name;
54 this->owner = that.owner;
61 this->owner = that.owner;
67 owner->
print(
"iterator %d == %d", 2 - this->pos, 2 - that.pos);
68 return this->pos == that.pos;
72 owner->
print(
"iterator %d != %d", 2 - this->pos, 2 - that.pos);
73 return this->pos != that.pos;
96 int result = (2 - this->
pos) - (2 - that.pos);
102 owner->
print(
"iterator advance: %i += %i", 2 - this->pos, steps);
117 void print(
const char *msg, ...)
const {
120 printf(
"[%s] ",
name);
131 for (
auto it = range.
begin(); it != range.
end(); ++it)
132 printf(
"v=%d\n", *it);
const Iterator & operator=(const Iterator &that)
bool operator==(const Iterator &that) const
Iterator operator+(int steps) const
Iterator(const Iterator &that)
Iterator(const Reporter *owner, int pos)
bool operator!=(const Iterator &that) const
size_t operator-(const Iterator &that) const
Iterator(Iterator &&that)
const Iterator & operator=(Iterator &&that)
void print(const char *msg,...) const
Reporter(Reporter &&that)
const Reporter & operator=(const Reporter &that)
const Reporter & operator=(Reporter &&that)
Reporter(const char *name)
Reporter(const Reporter &that)