Logo Search packages:      
Sourcecode: eigen3 version File versions  Download package

Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Friends

PlainObjectBase< Derived > Class Template Reference

Dense storage base class for matrices and arrays. More...

#include <PlainObjectBase.h>

Inheritance diagram for PlainObjectBase< Derived >:
Inheritance graph
[legend]
Collaboration diagram for PlainObjectBase< Derived >:
Collaboration graph
[legend]

List of all members.

Classes

struct  StridedAlignedMapType
struct  StridedConstAlignedMapType
struct  StridedConstMapType
struct  StridedMapType

Public Types

enum  { Options = internal::traits<Derived>::Options }
enum  { NeedsToAlign }
typedef Eigen::Map< Derived,
Aligned > 
AlignedMapType
typedef
internal::dense_xpr_base
< Derived >::type 
Base
typedef const Eigen::Map
< const Derived, Aligned > 
ConstAlignedMapType
typedef const Eigen::Map
< const Derived, Unaligned > 
ConstMapType
typedef Derived DenseType
typedef internal::traits
< Derived >::Index 
Index
typedef Eigen::Map< Derived,
Unaligned > 
MapType
typedef
internal::packet_traits
< Scalar >::type 
PacketScalar
typedef NumTraits< Scalar >::Real RealScalar
typedef internal::traits
< Derived >::Scalar 
Scalar
typedef internal::traits
< Derived >::StorageKind 
StorageKind

Public Member Functions

Base & base ()
const Base & base () const
EIGEN_STRONG_INLINE const Scalar & coeff (Index row, Index col) const
EIGEN_STRONG_INLINE const Scalar & coeff (Index index) const
EIGEN_STRONG_INLINE Scalar & coeffRef (Index index)
EIGEN_STRONG_INLINE const Scalar & coeffRef (Index row, Index col) const
EIGEN_STRONG_INLINE const Scalar & coeffRef (Index index) const
EIGEN_STRONG_INLINE Scalar & coeffRef (Index row, Index col)
EIGEN_STRONG_INLINE Index cols () const
EIGEN_STRONG_INLINE void conservativeResize (Index rows, Index cols)
EIGEN_STRONG_INLINE void conservativeResize (Index rows, NoChange_t)
EIGEN_STRONG_INLINE void conservativeResize (NoChange_t, Index cols)
EIGEN_STRONG_INLINE void conservativeResize (Index size)
template<typename OtherDerived >
EIGEN_STRONG_INLINE void conservativeResizeLike (const DenseBase< OtherDerived > &other)
EIGEN_STRONG_INLINE Scalar * data ()
EIGEN_STRONG_INLINE const Scalar * data () const
template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived & lazyAssign (const DenseBase< OtherDerived > &other)
template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived & operator= (const EigenBase< OtherDerived > &other)
EIGEN_STRONG_INLINE Derived & operator= (const PlainObjectBase &other)
template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived & operator= (const ReturnByValue< OtherDerived > &func)
template<int LoadMode>
EIGEN_STRONG_INLINE PacketScalar packet (Index row, Index col) const
template<int LoadMode>
EIGEN_STRONG_INLINE PacketScalar packet (Index index) const
EIGEN_STRONG_INLINE PlainObjectBase (Index size, Index rows, Index cols)
template<typename OtherDerived >
EIGEN_STRONG_INLINE PlainObjectBase (const EigenBase< OtherDerived > &other)
 PlainObjectBase (internal::constructor_without_unaligned_array_assert)
void resize (Index size)
void resize (NoChange_t, Index cols)
void resize (Index rows, NoChange_t)
EIGEN_STRONG_INLINE void resize (Index rows, Index cols)
template<typename OtherDerived >
EIGEN_STRONG_INLINE void resizeLike (const EigenBase< OtherDerived > &_other)
EIGEN_STRONG_INLINE Index rows () const
Derived & setConstant (Index rows, Index cols, const Scalar &value)
Derived & setConstant (Index size, const Scalar &value)
Derived & setOnes (Index size)
Derived & setOnes (Index rows, Index cols)
Derived & setRandom (Index rows, Index cols)
Derived & setRandom (Index size)
Derived & setZero (Index rows, Index cols)
Derived & setZero (Index size)
template<int StoreMode>
EIGEN_STRONG_INLINE void writePacket (Index row, Index col, const PacketScalar &x)
template<int StoreMode>
EIGEN_STRONG_INLINE void writePacket (Index index, const PacketScalar &x)

Static Public Member Functions

static EIGEN_STRONG_INLINE void _check_template_params ()
Map

These are convenience functions returning Map objects. The Map() static functions return unaligned Map objects, while the AlignedMap() functions return aligned Map objects and thus should be called only with 16-byte-aligned data pointers.

These methods do not allow to specify strides. If you need to specify strides, you have to use the Map class directly.

See also:
class Map
static ConstMapType Map (const Scalar *data)
static MapType Map (Scalar *data)
static ConstMapType Map (const Scalar *data, Index size)
static MapType Map (Scalar *data, Index size)
static ConstMapType Map (const Scalar *data, Index rows, Index cols)
static MapType Map (Scalar *data, Index rows, Index cols)
static ConstAlignedMapType MapAligned (const Scalar *data)
static AlignedMapType MapAligned (Scalar *data)
static ConstAlignedMapType MapAligned (const Scalar *data, Index size)
static AlignedMapType MapAligned (Scalar *data, Index size)
static ConstAlignedMapType MapAligned (const Scalar *data, Index rows, Index cols)
static AlignedMapType MapAligned (Scalar *data, Index rows, Index cols)
template<int Outer, int Inner>
static StridedConstMapType
< Stride< Outer, Inner >
>::type 
Map (const Scalar *data, const Stride< Outer, Inner > &stride)
template<int Outer, int Inner>
static StridedMapType< Stride
< Outer, Inner > >::type 
Map (Scalar *data, const Stride< Outer, Inner > &stride)
template<int Outer, int Inner>
static StridedConstMapType
< Stride< Outer, Inner >
>::type 
Map (const Scalar *data, Index size, const Stride< Outer, Inner > &stride)
template<int Outer, int Inner>
static StridedMapType< Stride
< Outer, Inner > >::type 
Map (Scalar *data, Index size, const Stride< Outer, Inner > &stride)
template<int Outer, int Inner>
static StridedConstMapType
< Stride< Outer, Inner >
>::type 
Map (const Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride)
template<int Outer, int Inner>
static StridedMapType< Stride
< Outer, Inner > >::type 
Map (Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride)
template<int Outer, int Inner>
static
StridedConstAlignedMapType
< Stride< Outer, Inner >
>::type 
MapAligned (const Scalar *data, const Stride< Outer, Inner > &stride)
template<int Outer, int Inner>
static StridedAlignedMapType
< Stride< Outer, Inner >
>::type 
MapAligned (Scalar *data, const Stride< Outer, Inner > &stride)
template<int Outer, int Inner>
static
StridedConstAlignedMapType
< Stride< Outer, Inner >
>::type 
MapAligned (const Scalar *data, Index size, const Stride< Outer, Inner > &stride)
template<int Outer, int Inner>
static StridedAlignedMapType
< Stride< Outer, Inner >
>::type 
MapAligned (Scalar *data, Index size, const Stride< Outer, Inner > &stride)
template<int Outer, int Inner>
static
StridedConstAlignedMapType
< Stride< Outer, Inner >
>::type 
MapAligned (const Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride)
template<int Outer, int Inner>
static StridedAlignedMapType
< Stride< Outer, Inner >
>::type 
MapAligned (Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride)

Protected Member Functions

template<typename T0 , typename T1 >
EIGEN_STRONG_INLINE void _init2 (Index rows, Index cols, typename internal::enable_if< Base::SizeAtCompileTime!=2, T0 >::type *=0)
template<typename T0 , typename T1 >
EIGEN_STRONG_INLINE void _init2 (const Scalar &x, const Scalar &y, typename internal::enable_if< Base::SizeAtCompileTime==2, T0 >::type *=0)
template<typename OtherDerived >
EIGEN_STRONG_INLINE void _resize_to_match (const EigenBase< OtherDerived > &other)
template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived & _set (const DenseBase< OtherDerived > &other)
 Copies the value of the expression other into *this with automatic resizing.
template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived & _set_noalias (const DenseBase< OtherDerived > &other)
template<typename OtherDerived >
EIGEN_STRONG_INLINE void _set_selector (const OtherDerived &other, const internal::false_type &)
template<typename OtherDerived >
EIGEN_STRONG_INLINE void _set_selector (const OtherDerived &other, const internal::true_type &)
template<typename OtherDerived >
void _swap (DenseBase< OtherDerived > const &other)

Protected Attributes

DenseStorage< Scalar,
Base::MaxSizeAtCompileTime,
Base::RowsAtCompileTime,
Base::ColsAtCompileTime,
Options > 
m_storage

Private Types

enum  { ThisConstantIsPrivateInPlainObjectBase }

Friends

class Eigen::Map
class Eigen::Map< const Derived, Aligned >
class Eigen::Map< const Derived, Unaligned >
class Eigen::Map< Derived, Aligned >
class Eigen::Map< Derived, Unaligned >
struct internal::matrix_swap_impl

Detailed Description

template<typename Derived>
class PlainObjectBase< Derived >

Dense storage base class for matrices and arrays.

This class can be extended with the help of the plugin mechanism described on the page Customizing/Extending Eigen by defining the preprocessor symbol EIGEN_PLAINOBJECTBASE_PLUGIN.

See also:
The class hierarchy

Definition at line 52 of file PlainObjectBase.h.


The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index