template class mrpt::math::CMatrixRowAccessorExtended

A vector-like wrapper for a Matrix for accessing the elements of a given row with a [] operator, with offset and custom spacing.

For usage with MRPT’s CMatrixDynamic only (for MRPT numeric matrices, use Eigen methods)

See also:

CMatrixColumnAccessorExtended, CMatrixRowAccessor, CConstMatrixRowAccessor, CConstMatrixRowAccessorExtended

#include <mrpt/math/matrix_adaptors.h>

template <class MAT>
class CMatrixRowAccessorExtended
{
public:
    // typedefs

    typedef typename MAT::Scalar value_type;
    typedef CMatrixRowAccessorExtended<MAT> mrpt_autotype;
    typedef detail::AccessorIterator<CMatrixRowAccessorExtended<MAT>, value_type> iterator;
    typedef detail::AccessorIterator<const CMatrixRowAccessorExtended<MAT>, const value_type> const_iterator;
    typedef detail::ReverseAccessorIterator<CMatrixRowAccessorExtended<MAT>, value_type> reverse_iterator;
    typedef detail::ReverseAccessorIterator<const CMatrixRowAccessorExtended<MAT>, const value_type> const_reverse_iterator;

    // construction

    CMatrixRowAccessorExtended(
        MAT& mat,
        size_t row,
        size_t offset,
        size_t space
        );

    CMatrixRowAccessorExtended();

    //
methods

    value_type& operator [] (size_t i);
    value_type operator [] (size_t i) const;
    iterator begin();
    const_iterator begin() const;
    iterator end();
    const_iterator end() const;
    reverse_iterator rbegin();
    const_reverse_iterator rbegin() const;
    reverse_iterator rend();
    const_reverse_iterator rend() const;
    size_t size() const;
    void resize(size_t N);
};