Main MRPT website > C++ reference
MRPT logo
Public Types | Public Member Functions

DenseCoeffsBase< Derived, WriteAccessors > Class Template Reference


Detailed Description

template<typename Derived>
class DenseCoeffsBase< Derived, WriteAccessors >

Base class providing read/write coefficient access to matrices and arrays.

Template Parameters:
DerivedType of the derived class
WriteAccessorsConstant indicating read/write access

This class defines the non-const operator() function and friends, which can be used to write specific entries of a matrix or array. This class inherits DenseCoeffsBase<Derived, ReadOnlyAccessors> which defines the const variant for reading specific entries.

See also:
DenseCoeffsBase<Derived, DirectAccessors>, TopicClassHierarchy

Definition at line 282 of file DenseCoeffsBase.h.

#include <src/Core/DenseCoeffsBase.h>

Inheritance diagram for DenseCoeffsBase< Derived, WriteAccessors >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef DenseCoeffsBase
< Derived, ReadOnlyAccessors > 
Base
typedef internal::traits
< Derived >::StorageKind 
StorageKind
typedef internal::traits
< Derived >::Index 
Index
typedef internal::traits
< Derived >::Scalar 
Scalar
typedef
internal::packet_traits
< Scalar >::type 
PacketScalar
typedef NumTraits< Scalar >::Real RealScalar

Public Member Functions

EIGEN_STRONG_INLINE ScalarcoeffRef (Index row, Index col)
 Short version: don't use this function, use operator()(Index,Index) instead.
EIGEN_STRONG_INLINE ScalarcoeffRefByOuterInner (Index outer, Index inner)
EIGEN_STRONG_INLINE Scalaroperator() (Index row, Index col)
EIGEN_STRONG_INLINE ScalarcoeffRef (Index index)
 Short version: don't use this function, use operator[](Index) instead.
EIGEN_STRONG_INLINE Scalaroperator[] (Index index)
EIGEN_STRONG_INLINE Scalaroperator() (Index index)
EIGEN_STRONG_INLINE Scalarx ()
 equivalent to operator[](0).
EIGEN_STRONG_INLINE Scalary ()
 equivalent to operator[](1).
EIGEN_STRONG_INLINE Scalarz ()
 equivalent to operator[](2).
EIGEN_STRONG_INLINE Scalarw ()
 equivalent to operator[](3).
template<int StoreMode>
EIGEN_STRONG_INLINE void writePacket (Index row, Index col, const typename internal::packet_traits< Scalar >::type &x)
 Stores the given packet of coefficients, at the given row and column of this expression.
template<int StoreMode>
EIGEN_STRONG_INLINE void writePacketByOuterInner (Index outer, Index inner, const typename internal::packet_traits< Scalar >::type &x)
template<int StoreMode>
EIGEN_STRONG_INLINE void writePacket (Index index, const typename internal::packet_traits< Scalar >::type &x)
 Stores the given packet of coefficients, at the given index in this expression.

Member Typedef Documentation

template<typename Derived >
typedef DenseCoeffsBase<Derived, ReadOnlyAccessors> DenseCoeffsBase< Derived, WriteAccessors >::Base
template<typename Derived >
typedef internal::traits<Derived>::Index DenseCoeffsBase< Derived, WriteAccessors >::Index
template<typename Derived >
typedef internal::packet_traits<Scalar>::type DenseCoeffsBase< Derived, WriteAccessors >::PacketScalar

Reimplemented from DenseCoeffsBase< Derived, ReadOnlyAccessors >.

Definition at line 291 of file DenseCoeffsBase.h.

template<typename Derived >
typedef NumTraits<Scalar>::Real DenseCoeffsBase< Derived, WriteAccessors >::RealScalar

Reimplemented in DenseCoeffsBase< Derived, DirectWriteAccessors >.

Definition at line 292 of file DenseCoeffsBase.h.

template<typename Derived >
typedef internal::traits<Derived>::Scalar DenseCoeffsBase< Derived, WriteAccessors >::Scalar
template<typename Derived >
typedef internal::traits<Derived>::StorageKind DenseCoeffsBase< Derived, WriteAccessors >::StorageKind

Reimplemented from DenseCoeffsBase< Derived, ReadOnlyAccessors >.

Definition at line 288 of file DenseCoeffsBase.h.


Member Function Documentation

template<typename Derived >
EIGEN_STRONG_INLINE Scalar& DenseCoeffsBase< Derived, WriteAccessors >::coeffRef ( Index  row,
Index  col 
) [inline]

Short version: don't use this function, use operator()(Index,Index) instead.

Long version: this function is similar to operator()(Index,Index), but without the assertion. Use this for limiting the performance cost of debugging code when doing repeated coefficient access. Only use this when it is guaranteed that the parameters row and col are in range.

If EIGEN_INTERNAL_DEBUGGING is defined, an assertion will be made, making this function equivalent to operator()(Index,Index).

See also:
operator()(Index,Index), coeff(Index, Index) const, coeffRef(Index)

Definition at line 322 of file DenseCoeffsBase.h.

References eigen_internal_assert.

template<typename Derived >
EIGEN_STRONG_INLINE Scalar& DenseCoeffsBase< Derived, WriteAccessors >::coeffRef ( Index  index) [inline]

Short version: don't use this function, use operator[](Index) instead.

Long version: this function is similar to operator[](Index), but without the assertion. Use this for limiting the performance cost of debugging code when doing repeated coefficient access. Only use this when it is guaranteed that the parameters row and col are in range.

If EIGEN_INTERNAL_DEBUGGING is defined, an assertion will be made, making this function equivalent to operator[](Index).

See also:
operator[](Index), coeff(Index) const, coeffRef(Index,Index)

Definition at line 366 of file DenseCoeffsBase.h.

References eigen_internal_assert, and mrpt::math::size().

template<typename Derived >
EIGEN_STRONG_INLINE Scalar& DenseCoeffsBase< Derived, WriteAccessors >::coeffRefByOuterInner ( Index  outer,
Index  inner 
) [inline]

Definition at line 330 of file DenseCoeffsBase.h.

template<typename Derived >
EIGEN_STRONG_INLINE Scalar& DenseCoeffsBase< Derived, WriteAccessors >::operator() ( Index  row,
Index  col 
) [inline]
Returns:
a reference to the coefficient at given the given row and column.
See also:
operator[](Index)

Definition at line 342 of file DenseCoeffsBase.h.

References eigen_assert.

template<typename Derived >
EIGEN_STRONG_INLINE Scalar& DenseCoeffsBase< Derived, WriteAccessors >::operator() ( Index  index) [inline]
Returns:
a reference to the coefficient at given index.

This is synonymous to operator[](Index).

This method is allowed only for vector expressions, and for matrix expressions having the LinearAccessBit.

See also:
operator[](Index) const, operator()(Index,Index), x(), y(), z(), w()

Definition at line 398 of file DenseCoeffsBase.h.

References eigen_assert, and mrpt::math::size().

template<typename Derived >
EIGEN_STRONG_INLINE Scalar& DenseCoeffsBase< Derived, WriteAccessors >::operator[] ( Index  index) [inline]
Returns:
a reference to the coefficient at given index.

This method is allowed only for vector expressions, and for matrix expressions having the LinearAccessBit.

See also:
operator[](Index) const, operator()(Index,Index), x(), y(), z(), w()

Definition at line 380 of file DenseCoeffsBase.h.

References eigen_assert, EIGEN_STATIC_ASSERT, and mrpt::math::size().

template<typename Derived >
EIGEN_STRONG_INLINE Scalar& DenseCoeffsBase< Derived, WriteAccessors >::w ( ) [inline]

equivalent to operator[](3).

Definition at line 422 of file DenseCoeffsBase.h.

template<typename Derived >
template<int StoreMode>
EIGEN_STRONG_INLINE void DenseCoeffsBase< Derived, WriteAccessors >::writePacket ( Index  index,
const typename internal::packet_traits< Scalar >::type x 
) [inline]

Stores the given packet of coefficients, at the given index in this expression.

It is your responsibility to ensure that a packet really starts there. This method is only available on expressions having the PacketAccessBit and the LinearAccessBit.

The LoadMode parameter may have the value Aligned or Unaligned. Its effect is to select the appropriate vectorization instruction. Aligned access is faster, but is only possible for packets starting at an address which is a multiple of the packet size.

Definition at line 463 of file DenseCoeffsBase.h.

References eigen_internal_assert, and mrpt::math::size().

template<typename Derived >
template<int StoreMode>
EIGEN_STRONG_INLINE void DenseCoeffsBase< Derived, WriteAccessors >::writePacket ( Index  row,
Index  col,
const typename internal::packet_traits< Scalar >::type x 
) [inline]

Stores the given packet of coefficients, at the given row and column of this expression.

It is your responsibility to ensure that a packet really starts there. This method is only available on expressions having the PacketAccessBit.

The LoadMode parameter may have the value Aligned or Unaligned. Its effect is to select the appropriate vectorization instruction. Aligned access is faster, but is only possible for packets starting at an address which is a multiple of the packet size.

Definition at line 435 of file DenseCoeffsBase.h.

References col(), eigen_internal_assert, and row().

template<typename Derived >
template<int StoreMode>
EIGEN_STRONG_INLINE void DenseCoeffsBase< Derived, WriteAccessors >::writePacketByOuterInner ( Index  outer,
Index  inner,
const typename internal::packet_traits< Scalar >::type x 
) [inline]

Definition at line 445 of file DenseCoeffsBase.h.

template<typename Derived >
EIGEN_STRONG_INLINE Scalar& DenseCoeffsBase< Derived, WriteAccessors >::x ( ) [inline]

equivalent to operator[](0).

Definition at line 407 of file DenseCoeffsBase.h.

template<typename Derived >
EIGEN_STRONG_INLINE Scalar& DenseCoeffsBase< Derived, WriteAccessors >::y ( ) [inline]

equivalent to operator[](1).

Definition at line 412 of file DenseCoeffsBase.h.

template<typename Derived >
EIGEN_STRONG_INLINE Scalar& DenseCoeffsBase< Derived, WriteAccessors >::z ( ) [inline]

equivalent to operator[](2).

Definition at line 417 of file DenseCoeffsBase.h.




Page generated by Doxygen 1.7.3 for MRPT 0.9.4 SVN: at Sat Mar 26 06:16:28 UTC 2011