template class mrpt::math::CMatrixRowAccessor

A vector-like wrapper for a Matrix for accessing the elements of a given row with a [] operator.

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

See also:

CMatrixColumnAccessor, CMatrixRowAccessorExtended, CConstMatrixRowAccessor, CConstMatrixRowAccessorExtended

#include <mrpt/math/matrix_adaptors.h>

template <typename MAT>
class CMatrixRowAccessor
{
public:
    // typedefs

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

    // construction

    CMatrixRowAccessor(
        MAT& mat,
        size_t rowIdx
        );

    CMatrixRowAccessor();

    //
methods

    value_type& operator [] (const size_t i);
    value_type operator [] (const 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);
};