struct output_iterator_tag {};
property | valid expressions |
---|---|
Is copy-constructible, copy-assignable and destructible | X b(a); |
Can be dereferenced as an lvalue (if in a dereferenceable state). It shall only be dereferenced as the left-side of an assignment statement. Once dereferenced, its iterator value may no longer be dereferenceable. | *a = t |
Can be incremented. | ++a |
property | valid expressions |
---|---|
Is copy-constructible, copy-assignable and destructible | X b(a); |
Can be dereferenced as an lvalue (if in a dereferenceable state). It shall only be dereferenced as the left-side of an assignment statement. Once dereferenced, its iterator value may no longer be dereferenceable. | *a = t |
Can be incremented. | ++a |
Lvalues are swappable. | swap(a,b) |