Go to the documentation of this file.
9 #ifndef mrpt_matrix_adaptors_H
10 #define mrpt_matrix_adaptors_H
22 template<
typename T,
typename U,
bool UIsObject>
class CBinaryRelation;
41 template<
typename T,
typename U,
bool UIsObject,
typename FunctionType>
inline void applyFunction(
CBinaryRelation<T,U,UIsObject> &o, FunctionType fun,
size_t e1,
size_t e2,
const T &T1,
const T &T2);
190 template <
typename MAT>
232 return m_mat->getColCount();
235 if (N!=
size())
throw std::logic_error(
"Tried to resize a fixed-size vector");
258 ASSERT_(row<mat.getRowCount());
300 if (N!=
size())
throw std::logic_error(
"Tried to resize a fixed-size vector");
320 ASSERT_(row<mat.getRowCount());
341 return m_mat->getColCount();
344 if (N!=
size())
throw std::logic_error(
"Tried to resize a fixed-size vector");
367 ASSERT_(row<mat.getRowCount());
392 if (N!=
size())
throw std::logic_error(
"Tried to resize a fixed-size vector");
443 return m_mat->getRowCount();
446 if (N!=
size())
throw std::logic_error(
"Tried to resize a fixed-size vector");
456 template<
typename MAT>
468 ASSERT_(col<mat.getColCount());
510 if (N!=
size())
throw std::logic_error(
"Tried to resize a fixed-size vector");
529 ASSERT_(colIdx<mat.getColCount());
550 return m_mat->getRowCount();
553 if (N!=
size())
throw std::logic_error(
"Tried to resize a fixed-size vector");
563 template<
typename MAT>
575 ASSERT_(col<mat.getColCount());
600 if (N!=
size())
throw std::logic_error(
"Tried to resize a fixed-size vector");
value_type operator[](size_t i) const
reverse_iterator rbegin()
reverse_iterator rbegin()
const_iterator end() const
AccessorIterator< A, T > operator++(int)
const_iterator end() const
CConstMatrixRowAccessorExtended()
detail::AccessorIterator< const CConstMatrixRowAccessorExtended< MAT >, const value_type > const_iterator
value_type & operator[](const size_t i)
value_type operator[](const size_t i) const
detail::ReverseAccessorIterator< const CMatrixRowAccessorExtended< MAT >, const value_type > const_reverse_iterator
AccessorIterator< A, T > & operator--()
detail::AccessorIterator< const CMatrixRowAccessorExtended< MAT >, const value_type > const_iterator
const_iterator begin() const
ReverseAccessorIterator< A, T > operator+(int off) const
Template class for matrix accessor's iterators.
detail::ReverseAccessorIterator< const CConstMatrixColumnAccessor< MAT >, const value_type > const_reverse_iterator
This class models a binary relation through the elements of any given set.
CMatrixColumnAccessorExtended(MAT &mat, size_t col, size_t offset, size_t space)
CConstMatrixColumnAccessor< MAT > mrpt_autotype
bool operator==(const ReverseAccessorIterator< A, T > &it) const
CMatrixColumnAccessorExtended()
AccessorIterator< A, T > & operator-=(int off)
const_reverse_iterator rbegin() const
This template class provides the basic functionality for a general 2D any-size, resizable container o...
Template class for matrix accessor's iterators.
bool operator==(const AccessorIterator< A, T > &it) const
bool operator!=(const AccessorIterator< A, T > &it) const
const_iterator begin() const
void applyFunction(CBinaryRelation< T, U, UIsObject > &o, FunctionType fun, size_t e1, size_t e2, const T &T1, const T &T2)
A vector-like wrapper for a const Matrix for accessing the elements of a given column with a [] opera...
bool operator!=(const ReverseAccessorIterator< A, T > &it) const
AccessorIterator< A, T > operator+(int off) const
value_type operator[](size_t i) const
value_type operator[](size_t i) const
CMatrixRowAccessorExtended< MAT > mrpt_autotype
CMatrixColumnAccessor< MAT > getColumnAccessor(MAT &m, size_t colIdx)
AccessorIterator< A, T > operator--(int)
CMatrixRowAccessor< MAT > mrpt_autotype
detail::AccessorIterator< const CMatrixColumnAccessor< MAT >, const value_type > const_iterator
value_type & operator[](size_t i)
detail::ReverseAccessorIterator< const CConstMatrixRowAccessorExtended< MAT >, const value_type > const_reverse_iterator
const_reverse_iterator rend() const
detail::ReverseAccessorIterator< CMatrixRowAccessor< MAT >, value_type > reverse_iterator
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
const_reverse_iterator rend() const
CConstMatrixColumnAccessorExtended()
const_iterator end() const
ReverseAccessorIterator< A, T > & operator+=(int off)
const_reverse_iterator rend() const
const_reverse_iterator rend() const
CMatrixColumnAccessorExtended< MAT > mrpt_autotype
detail::AccessorIterator< const CMatrixRowAccessor< MAT >, const value_type > const_iterator
detail::AccessorIterator< CMatrixColumnAccessor< MAT >, value_type > iterator
A vector-like wrapper for a Matrix for accessing the elements of a given row with a [] operator.
A vector-like wrapper for a Matrix for accessing the elements of a given column with a [] operator,...
AccessorIterator< A, T > operator-(int off) const
CConstMatrixRowAccessor()
const_reverse_iterator rbegin() const
int operator-(const AccessorIterator< A, T > &it) const
CMatrixColumnAccessorExtended< MAT > mrpt_autotype
const_iterator end() const
const_reverse_iterator rbegin() const
AccessorIterator(A &obj, size_t N)
detail::AccessorIterator< const CConstMatrixColumnAccessorExtended< MAT >, const value_type > const_iterator
CConstMatrixColumnAccessor()
AccessorIterator< A, T > & operator++()
CMatrixColumnAccessor(MAT &mat, size_t colIdx)
CMatrixTemplateObjects< U > MatrixType
const_iterator begin() const
A vector-like wrapper for a Matrix for accessing the elements of a given row with a [] operator,...
const_iterator end() const
ReverseAccessorIterator< A, T > & operator++()
CMatrixTemplate< U > MatrixType
detail::ReverseAccessorIterator< const CMatrixRowAccessor< MAT >, const value_type > const_reverse_iterator
detail::AccessorIterator< CMatrixRowAccessorExtended< MAT >, value_type > iterator
value_type & operator[](const size_t i)
CMatrixRowAccessorExtended(MAT &mat, size_t row, size_t offset, size_t space)
detail::AccessorIterator< const CMatrixColumnAccessorExtended< MAT >, const value_type > const_iterator
CMatrixColumnAccessor< MAT > mrpt_autotype
This template is a trick to switch the type of a variable using a boolean variable in the template.
const_reverse_iterator rend() const
ReverseAccessorIterator(A &obj, size_t N)
const_reverse_iterator rbegin() const
T & operator[](int off) const
T & operator[](int off) const
ReverseAccessorIterator< A, T > operator++(int)
detail::AccessorIterator< const CConstMatrixRowAccessor< MAT >, const value_type > const_iterator
detail::AccessorIterator< CMatrixRowAccessor< MAT >, value_type > iterator
This template class extends the class "CMatrixTemplate" for storing "objects" at each matrix entry.
int operator-(const ReverseAccessorIterator< A, T > &it) const
detail::ReverseAccessorIterator< CMatrixColumnAccessor< MAT >, value_type > reverse_iterator
detail::ReverseAccessorIterator< const CConstMatrixRowAccessor< MAT >, const value_type > const_reverse_iterator
std::random_access_iterator_tag iterator_category
A vector-like wrapper for a Matrix for accessing the elements of a given column with a [] operator.
detail::ReverseAccessorIterator< const CMatrixColumnAccessorExtended< MAT >, const value_type > const_reverse_iterator
detail::AccessorIterator< CMatrixColumnAccessorExtended< MAT >, value_type > iterator
std::random_access_iterator_tag iterator_category
const_reverse_iterator rend() const
const_reverse_iterator rbegin() const
A vector-like wrapper for a const Matrix for accessing the elements of a given row with a [] operator...
const_iterator begin() const
value_type operator[](size_t i) const
const_reverse_iterator rbegin() const
A vector-like wrapper for a const Matrix for accessing the elements of a given row with a [] operator...
const_iterator begin() const
const_iterator end() const
const_iterator begin() const
CConstMatrixColumnAccessor(const MAT &mat, size_t colIdx)
reverse_iterator rbegin()
CMatrixRowAccessorExtended()
const_iterator end() const
CConstMatrixRowAccessorExtended(const MAT &mat, size_t row, size_t offset, size_t space)
CConstMatrixRowAccessorExtended< MAT > mrpt_autotype
detail::ReverseAccessorIterator< CMatrixRowAccessorExtended< MAT >, value_type > reverse_iterator
detail::AccessorIterator< const CConstMatrixColumnAccessor< MAT >, const value_type > const_iterator
detail::ReverseAccessorIterator< const CConstMatrixColumnAccessorExtended< MAT >, const value_type > const_reverse_iterator
CConstMatrixRowAccessor(const MAT &mat, size_t row)
CMatrixRowAccessor(MAT &mat, size_t rowIdx)
const_reverse_iterator rbegin() const
value_type operator[](size_t i) const
A vector-like wrapper for a const Matrix for accessing the elements of a given column with a [] opera...
CConstMatrixRowAccessor< MAT > mrpt_autotype
detail::ReverseAccessorIterator< const CMatrixColumnAccessor< MAT >, const value_type > const_reverse_iterator
value_type operator[](size_t i) const
value_type & operator[](size_t i)
const_iterator begin() const
ReverseAccessorIterator< A, T > & operator--()
AccessorIterator< A, T > operator-(int off) const
reverse_iterator rbegin()
const_reverse_iterator rbegin() const
CMatrixRowAccessor< MAT > getRowAccessor(MAT &m, size_t rowIdx)
value_type operator[](const size_t i) const
const_reverse_iterator rend() const
const_iterator begin() const
ReverseAccessorIterator< A, T > operator--(int)
AccessorIterator< A, T > & operator-=(int off)
const_reverse_iterator rend() const
const_iterator end() const
CConstMatrixColumnAccessorExtended(const MAT &mat, size_t col, size_t offset, size_t space)
detail::ReverseAccessorIterator< CMatrixColumnAccessorExtended< MAT >, value_type > reverse_iterator
AccessorIterator< A, T > & operator+=(int off)
Page generated by Doxygen 1.8.20 for MRPT 1.4.0 SVN: at Thu Aug 27 02:40:23 UTC 2020 | | |