yat
0.14.5pre
|
Mutable Container2D is a Container2D that also provides non-const access to its elements.
In addition to the requirements defined in Container2D, a Mutable Container2D also provides the following:
Reference type | X::reference | A type that behaves as reference to the Mutable Container2D 's value type. |
Iterator type | X::iterator |
A mutable iterator similar to Const iterator type, which can be used to iterate over the Mutable Container2D (and modify the elements). Typically the iterator iterates along a row, and when the end of one row is reached it jumps to the beginning of the next row. |
Column iterator type | X::column_iterator | A mutable iterator that can be used to modify the elements in one column of the Mutable Container2D. |
Row iterator type | X::row_iterator | A mutable iterator that can be used to modify the elements in one row of the Mutable Container2D. |
Name | Expression | Precondition | Return type | Postcondition |
---|---|---|---|---|
Beginning of range | a.begin() | iterator | iterator is derefenceable, unless a is empty | |
Beginning of column | a.begin_column(size_t column) | 0 <= column < a.columns() | column_iterator | column_iterator is derefenceable, unless a is empty |
Beginning of row | a.begin_row(size_t row) | 0 <= row < a.rows() | row_iterator | row_iterator is derefenceable, unless a is empty |
End of range | a.end() | iterator | ||
End of column | a.end_column(size_t column) | column<a.columns() | column_iterator | |
End of row | a.end_row(size_t row) | row<a.rows() | row_iterator | |
Element Access | a(size_t row, size_t column) | 0 <= row < a.rows() and 0 <= column < a.columns() | reference |
Examples of concept Mutable Container2D include: