Forward Iterator

Assignable, Equality Comparable

**Value Type**`I::value_type`The type obtained by dereferencing (applying operator

`*`) to a model of Forward Iterator.

I | A type that is a model of Forward Iterator | |

i,j | objects of type I |

**Assignment**`i=j`Return type: `I`Semantics: `j`is assigned to`i`**Preincrement**`++i`Return type: I Precondition: i is dereferenceable Semantics: `i`is modified to point to the next valuePostcondition: `i`is dereferenceable or one past the end**Postincrement**`i++`Return type: I Precondition: `i`is dereferenceableSemantics: `i`is modified to point to the next valuePostcondition: `i`is dereferenceable or past the end**Difference**`i-j`Return type: `int`Semantics: returns the size of range delimited by `i`and`j`Postcondition: `i`is dereferenceable or past the end**dereference**`*i`Return type: `value_type`Precondition: `i`is incrementable (operator`++`can be applied to`i`)Semantics: Returns the element `i`is pointing to.**comparison**`i!=j`Return type: a type convertible to `bool`Semantics: Returns true if `i`is different from`j`, i.e`i`and`j`are pointing to different elements.