chsvlib
chsv helper source code

◆ AugmentMe() [1/4]

derived_type& AugmentMe ( const Chusov::Memory::iterator_range< InputIterator > &  range)

Adds a specified range of matrix columns to the right side of the current matrix.

Template Parameters
InputIteratorIs a type of iterators which specify the range of columns. It can be a reverse iterator type which causes corresponding columns to be added to the matrix in reverse order.
Parameters
rangeAn iterator-based range of the columns to be added to the matrix.
Returns
A reference to *this.
Remarks
The iterated columns withing the range are added to the right of the matrix starting from range.begin() and ending with range.end() (the latter is excluded). This means that specifying reverse iterators would cause the columns to be augmented in reverse order.
Both the current matrix and the iterator range can be empty. If the matrix is empty, the elements are simply assigned to appropriately constructed new columns of the matrix. If the range is empty, the current matrix is left unchanged.
Exceptions
Chusov::Exceptions::InvalidParameterExceptionA number of rows in the columns mismatches a number of rows in the matrix, except for the case when the iterator range and/or the current matrix is empty.
See also
make_augmentation_matrix