struct input_iterator_tag {};| property | valid expressions |
|---|---|
| Iscopy-constructible,copy-assignable anddestructible | X b(a); |
| Can be compared for equivalence using the equality/inequality operators (meaningful if both iterators are bein domain). | a == b |
| Can be dereferencedas anrvalue (if in adereferenceable state). | *a |
| Can be incremented (if in adereferenceable state). The result is either alsodereferenceable or apast-the-end iterator. The previous iterator value is not required to bedereferenceable after the increase. | ++a |
| Itsvalue type does not need to be assignable | t = unot required |
| property | valid expressions |
|---|---|
| Iscopy-constructible,copy-assignable anddestructible | X b(a); |
| Can be compared for equivalence using the equality/inequality operators (meaningful if both iterators are bein domain). | a == b |
| Can be dereferencedas anrvalue (if in adereferenceable state). | *a |
| Can be incremented (if in adereferenceable state). The result is either alsodereferenceable or apast-the-end iterator. The previous iterator value is not required to bedereferenceable after the increase. | ++a |
| Itsvalue type does not need to be assignable | t = unot required |
| Lvalues areswappable. | swap(a,b) |