diff --git a/doc/matrix_expression.htm b/doc/matrix_expression.htm index 06e44e56..d83364e2 100644 --- a/doc/matrix_expression.htm +++ b/doc/matrix_expression.htm @@ -58,8 +58,47 @@ const
expression_type &operator () ()matrix_row<E> operator[] (std::size_t i)matrix_row<E> row (std::size_t i)matrix_column<E> column (std::size_t i)matrix_range<E> range (std::size_t start1, std::size_t stop1, std::size_t start2, std::size_t stop2)matrix_slice<E> slice (std::size_t start1, std::ptrdiff_t stride1, std::size_t size1, std::size_t start2, std::ptrdiff_t stride2, std::size_t size2)matrix_range<E> project (const range &r1, const range &r2)matrix_slice<E> project (const slice &s1, const slice &s2)matrix_indirect<E, A> project (const indirect_array<A> &ia1, const indirect_array<A> &ia2)The operator[], row, column, range, slice and project function parameters are the fixed types std::size_t
+and std::ptrdiff_t. This is an implementation issue and the types may change to E::size_type
+and E:difference_type in a future implementation.
The operator[], row, column, range, slice and project functions propagate the expression's constantness. Therefore there proxy returned
+for a constant matrix_expression<E> is based on const E.
vector itself.
Aexpression_type &operator () ()vector_range<E> range (std::size_t start, std::size_t stop)vector_slice<E> slice (std::size_t start, std::ptrdiff_t stride, std::size_t size)vector_range<E> project (const range &r)vector_slice<E> project (const slice &s)vector_indirect<E, A> project (const indirect_array<A> &ia)The range, slice and project function parameters are the fixed types std::size_t
+and std::ptrdiff_t. This is an implementation issue and the types may change to E::size_type
+and E:difference_type in a future implementation.
The range, slice and project functions propagate the expression's constantness. Therefore there proxy returned
+for a constant vector_expression<E> is based on const E.