| Value type | X::value_type | The type of the entries in the expression |
| Const reference type | X::const_reference | Type that is a reference to an element in the expression but prohibits modifying the element. |
| Row-size type | X::row_size_type | The type of the row-indices. The row_size_type must be a signed or unsigned integer type |
| Column-size type | X::column_size_type | The type of the column-indices. The column_size_type must be a signed or unsigned integer type |
| X | Type that is a model of Expression |
| a | Objects of type X |
| Name | Expression | Type requirements | Return type |
|---|---|---|---|
| Number of rows | a.num_rows() | row_size_type | |
| Number of columns | a.num_columns() | column_size_type | |
| Element access | a(i,j) | const_reference | |
| Destructor | a.~X() |
| Name | Expression | Precondition | Semantics | Postcondition |
|---|---|---|---|---|
| Number of rows | a.num_rows() | Returns the number of rows | a.num_rows()≥0 | |
| Number of columns | a.num_columns() | Returns the number of columns | a.num_columns()≥0 | |
| Element access | a(i,j) | 0≤i and i<a.size() | Returns the value at the given index | |
| Destructor | a.~X() |