Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
Eigen::TensorRef< PlainObjectType > Class Template Reference

A reference to a tensor expression The expression will be evaluated lazily (as much as possible). More...

#include <TensorForwardDeclarations.h>

Inheritance diagram for Eigen::TensorRef< PlainObjectType >:
Inheritance graph
[legend]

Public Types

enum  {
  IsAligned = false, PacketAccess = false, BlockAccess = false, PreferBlockAccess = false,
  Layout = PlainObjectType::Layout, CoordAccess = false, RawAccess = false
}
 
typedef PlainObjectType::Base Base
 
typedef Base::CoeffReturnType CoeffReturnType
 
typedef PlainObjectType::Dimensions Dimensions
 
typedef internal::traits< PlainObjectType >::Index Index
 
typedef Eigen::internal::nested< Self >::type Nested
 
typedef PointerType PointerArgType
 
typedef ScalarPointerType
 
typedef NumTraits< Scalar >::Real RealScalar
 
typedef internal::traits< PlainObjectType >::Scalar Scalar
 
typedef TensorRef< PlainObjectType > Self
 
typedef internal::traits< PlainObjectType >::StorageKind StorageKind
 
typedef internal::TensorBlockNotImplemented TensorBlock
 
- Public Types inherited from Eigen::TensorBase< TensorRef< PlainObjectType > >
typedef TensorBase< TensorRef< PlainObjectType >, ReadOnlyAccessors > Base
 
typedef Scalar CoeffReturnType
 
typedef internal::traits< TensorRef< PlainObjectType > > DerivedTraits
 
typedef DerivedTraits::Index Index
 
typedef DerivedTraits::Scalar Scalar
 

Public Member Functions

template<std::size_t NumIndices>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar coeff (const array< Index, NumIndices > &indices) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar coeff (Index index) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ScalarcoeffRef (Index i0, Index i1)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ScalarcoeffRef (Index i0, Index i1, Index i2)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ScalarcoeffRef (Index i0, Index i1, Index i2, Index i3, Index i4)
 
template<std::size_t NumIndices>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ScalarcoeffRef (const array< Index, NumIndices > &indices)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ScalarcoeffRef (Index index)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalardata () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index dimension (Index n) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Dimensionsdimensions () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (Index index) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (Index i0, Index i1) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (Index i0, Index i1, Index i2) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (Index i0, Index i1, Index i2, Index i3) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (Index i0, Index i1, Index i2, Index i3, Index i4) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalaroperator() (Index i0, Index i1, Index i2, Index i3)
 
template<typename Expression >
EIGEN_STRONG_INLINE TensorRefoperator= (const Expression &expr)
 
TensorRefoperator= (const TensorRef &other)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rank () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index size () const
 
EIGEN_STRONG_INLINE TensorRef ()
 
template<typename Expression >
EIGEN_STRONG_INLINE TensorRef (const Expression &expr)
 
 TensorRef (const TensorRef &other)
 
 ~TensorRef ()
 
- Public Member Functions inherited from Eigen::TensorBase< TensorRef< PlainObjectType > >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorChippingOp< DimId, const TensorRef< PlainObjectType > > chip (const Index offset) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorChippingOp< DimId, TensorRef< PlainObjectType > > chip (const Index offset)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorChippingOp< Dynamic, const TensorRef< PlainObjectType > > chip (const Index offset, const Index dim) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorChippingOp< Dynamic, TensorRef< PlainObjectType > > chip (const Index offset, const Index dim)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorConcatenationOp< const Axis, const TensorRef< PlainObjectType >, const OtherDerived > concatenate (const OtherDerived &other, const Axis &axis) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorConcatenationOp< const Axis, TensorRef< PlainObjectType >, OtherDerived > concatenate (const OtherDerived &other, const Axis &axis)
 
TensorDevice< TensorRef< PlainObjectType >, DeviceType > device (const DeviceType &dev)
 
TensorAsyncDevice< TensorRef< PlainObjectType >, DeviceType, DoneCallback > device (const DeviceType &dev, DoneCallback done)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorRef< PlainObjectType > & operator*= (const OtherDerived &other)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorRef< PlainObjectType > & operator+= (const OtherDerived &other)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorRef< PlainObjectType > & operator-= (const OtherDerived &other)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorRef< PlainObjectType > & operator/= (const OtherDerived &other)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorReshapingOp< const NewDimensions, const TensorRef< PlainObjectType > > reshape (const NewDimensions &newDimensions) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorReshapingOp< const NewDimensions, TensorRef< PlainObjectType > > reshape (const NewDimensions &newDimensions)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorReverseOp< const ReverseDimensions, const TensorRef< PlainObjectType > > reverse (const ReverseDimensions &rev) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorReverseOp< const ReverseDimensions, TensorRef< PlainObjectType > > reverse (const ReverseDimensions &rev)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorRef< PlainObjectType > & setConstant (const Scalar &val)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorRef< PlainObjectType > & setRandom ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorRef< PlainObjectType > & setRandom ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorRef< PlainObjectType > & setZero ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorShufflingOp< const Shuffle, const TensorRef< PlainObjectType > > shuffle (const Shuffle &shfl) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorShufflingOp< const Shuffle, TensorRef< PlainObjectType > > shuffle (const Shuffle &shfl)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorSlicingOp< const StartIndices, const Sizes, const TensorRef< PlainObjectType > > slice (const StartIndices &startIndices, const Sizes &sizes) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorSlicingOp< const StartIndices, const Sizes, TensorRef< PlainObjectType > > slice (const StartIndices &startIndices, const Sizes &sizes)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorStridingOp< const Strides, const TensorRef< PlainObjectType > > stride (const Strides &strides) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorStridingOp< const Strides, TensorRef< PlainObjectType > > stride (const Strides &strides)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorStridingSlicingOp< const StartIndices, const StopIndices, const Strides, const TensorRef< PlainObjectType > > stridedSlice (const StartIndices &startIndices, const StopIndices &stopIndices, const Strides &strides) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorStridingSlicingOp< const StartIndices, const StopIndices, const Strides, TensorRef< PlainObjectType > > stridedSlice (const StartIndices &startIndices, const StopIndices &stopIndices, const Strides &strides)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorLayoutSwapOp< const TensorRef< PlainObjectType > > swap_layout () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorLayoutSwapOp< TensorRef< PlainObjectType > > swap_layout ()
 

Static Public Attributes

static const Index NumIndices = PlainObjectType::NumIndices
 
- Static Public Attributes inherited from Eigen::TensorBase< TensorRef< PlainObjectType > >
static const int NumDimensions
 

Private Member Functions

EIGEN_STRONG_INLINE void unrefEvaluator ()
 

Private Attributes

internal::TensorLazyBaseEvaluator< Dimensions, Scalar > * m_evaluator
 

Additional Inherited Members

- Protected Member Functions inherited from Eigen::TensorBase< TensorRef< PlainObjectType > >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorRef< PlainObjectType > & derived ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorRef< PlainObjectType > & derived () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorRef< PlainObjectType > & operator= (const OtherDerived &other)
 

Detailed Description

template<typename PlainObjectType>
class Eigen::TensorRef< PlainObjectType >

A reference to a tensor expression The expression will be evaluated lazily (as much as possible).

Definition at line 55 of file TensorForwardDeclarations.h.

Member Typedef Documentation

◆ Base

template<typename PlainObjectType>
typedef PlainObjectType::Base Eigen::TensorRef< PlainObjectType >::Base

Definition at line 128 of file TensorRef.h.

◆ CoeffReturnType

template<typename PlainObjectType>
typedef Base::CoeffReturnType Eigen::TensorRef< PlainObjectType >::CoeffReturnType

Definition at line 134 of file TensorRef.h.

◆ Dimensions

template<typename PlainObjectType>
typedef PlainObjectType::Dimensions Eigen::TensorRef< PlainObjectType >::Dimensions

Definition at line 139 of file TensorRef.h.

◆ Index

template<typename PlainObjectType>
typedef internal::traits<PlainObjectType>::Index Eigen::TensorRef< PlainObjectType >::Index

Definition at line 131 of file TensorRef.h.

◆ Nested

template<typename PlainObjectType>
typedef Eigen::internal::nested<Self>::type Eigen::TensorRef< PlainObjectType >::Nested

Definition at line 129 of file TensorRef.h.

◆ PointerArgType

template<typename PlainObjectType>
typedef PointerType Eigen::TensorRef< PlainObjectType >::PointerArgType

Definition at line 136 of file TensorRef.h.

◆ PointerType

template<typename PlainObjectType>
typedef Scalar* Eigen::TensorRef< PlainObjectType >::PointerType

Definition at line 135 of file TensorRef.h.

◆ RealScalar

template<typename PlainObjectType>
typedef NumTraits<Scalar>::Real Eigen::TensorRef< PlainObjectType >::RealScalar

Definition at line 133 of file TensorRef.h.

◆ Scalar

template<typename PlainObjectType>
typedef internal::traits<PlainObjectType>::Scalar Eigen::TensorRef< PlainObjectType >::Scalar

Definition at line 132 of file TensorRef.h.

◆ Self

template<typename PlainObjectType>
typedef TensorRef<PlainObjectType> Eigen::TensorRef< PlainObjectType >::Self

Definition at line 127 of file TensorRef.h.

◆ StorageKind

template<typename PlainObjectType>
typedef internal::traits<PlainObjectType>::StorageKind Eigen::TensorRef< PlainObjectType >::StorageKind

Definition at line 130 of file TensorRef.h.

◆ TensorBlock

template<typename PlainObjectType>
typedef internal::TensorBlockNotImplemented Eigen::TensorRef< PlainObjectType >::TensorBlock

Definition at line 152 of file TensorRef.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename PlainObjectType>
anonymous enum
Enumerator
IsAligned 
PacketAccess 
BlockAccess 
PreferBlockAccess 
Layout 
CoordAccess 
RawAccess 

Definition at line 141 of file TensorRef.h.

Constructor & Destructor Documentation

◆ TensorRef() [1/3]

template<typename PlainObjectType>
EIGEN_STRONG_INLINE Eigen::TensorRef< PlainObjectType >::TensorRef ( )
inline

Definition at line 155 of file TensorRef.h.

◆ TensorRef() [2/3]

template<typename PlainObjectType>
template<typename Expression >
EIGEN_STRONG_INLINE Eigen::TensorRef< PlainObjectType >::TensorRef ( const Expression &  expr)
inline

Definition at line 159 of file TensorRef.h.

◆ ~TensorRef()

template<typename PlainObjectType>
Eigen::TensorRef< PlainObjectType >::~TensorRef ( )
inline

Definition at line 171 of file TensorRef.h.

◆ TensorRef() [3/3]

template<typename PlainObjectType>
Eigen::TensorRef< PlainObjectType >::TensorRef ( const TensorRef< PlainObjectType > &  other)
inline

Definition at line 175 of file TensorRef.h.

Member Function Documentation

◆ coeff() [1/2]

template<typename PlainObjectType>
template<std::size_t NumIndices>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar Eigen::TensorRef< PlainObjectType >::coeff ( const array< Index, NumIndices > &  indices) const
inline

Definition at line 303 of file TensorRef.h.

◆ coeff() [2/2]

template<typename PlainObjectType>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar Eigen::TensorRef< PlainObjectType >::coeff ( Index  index) const
inline

Definition at line 340 of file TensorRef.h.

◆ coeffRef() [1/5]

template<typename PlainObjectType>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& Eigen::TensorRef< PlainObjectType >::coeffRef ( Index  i0,
Index  i1 
)
inline

Definition at line 263 of file TensorRef.h.

◆ coeffRef() [2/5]

template<typename PlainObjectType>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& Eigen::TensorRef< PlainObjectType >::coeffRef ( Index  i0,
Index  i1,
Index  i2 
)
inline

Definition at line 271 of file TensorRef.h.

◆ coeffRef() [3/5]

template<typename PlainObjectType>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& Eigen::TensorRef< PlainObjectType >::coeffRef ( Index  i0,
Index  i1,
Index  i2,
Index  i3,
Index  i4 
)
inline

Definition at line 290 of file TensorRef.h.

◆ coeffRef() [4/5]

template<typename PlainObjectType>
template<std::size_t NumIndices>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& Eigen::TensorRef< PlainObjectType >::coeffRef ( const array< Index, NumIndices > &  indices)
inline

Definition at line 321 of file TensorRef.h.

◆ coeffRef() [5/5]

template<typename PlainObjectType>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& Eigen::TensorRef< PlainObjectType >::coeffRef ( Index  index)
inline

Definition at line 346 of file TensorRef.h.

◆ data()

template<typename PlainObjectType>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar* Eigen::TensorRef< PlainObjectType >::data ( ) const
inline

Definition at line 199 of file TensorRef.h.

◆ dimension()

template<typename PlainObjectType>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index Eigen::TensorRef< PlainObjectType >::dimension ( Index  n) const
inline

Definition at line 193 of file TensorRef.h.

◆ dimensions()

template<typename PlainObjectType>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Dimensions& Eigen::TensorRef< PlainObjectType >::dimensions ( ) const
inline

Definition at line 195 of file TensorRef.h.

◆ operator()() [1/6]

template<typename PlainObjectType>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar Eigen::TensorRef< PlainObjectType >::operator() ( Index  index) const
inline

Definition at line 202 of file TensorRef.h.

◆ operator()() [2/6]

template<typename PlainObjectType>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar Eigen::TensorRef< PlainObjectType >::operator() ( Index  i0,
Index  i1 
) const
inline

Definition at line 225 of file TensorRef.h.

◆ operator()() [3/6]

template<typename PlainObjectType>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar Eigen::TensorRef< PlainObjectType >::operator() ( Index  i0,
Index  i1,
Index  i2 
) const
inline

Definition at line 233 of file TensorRef.h.

◆ operator()() [4/6]

template<typename PlainObjectType>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar Eigen::TensorRef< PlainObjectType >::operator() ( Index  i0,
Index  i1,
Index  i2,
Index  i3 
) const
inline

Definition at line 242 of file TensorRef.h.

◆ operator()() [5/6]

template<typename PlainObjectType>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar Eigen::TensorRef< PlainObjectType >::operator() ( Index  i0,
Index  i1,
Index  i2,
Index  i3,
Index  i4 
) const
inline

Definition at line 252 of file TensorRef.h.

◆ operator()() [6/6]

template<typename PlainObjectType>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& Eigen::TensorRef< PlainObjectType >::operator() ( Index  i0,
Index  i1,
Index  i2,
Index  i3 
)
inline

Definition at line 280 of file TensorRef.h.

◆ operator=() [1/2]

template<typename PlainObjectType>
template<typename Expression >
EIGEN_STRONG_INLINE TensorRef& Eigen::TensorRef< PlainObjectType >::operator= ( const Expression &  expr)
inline

Definition at line 164 of file TensorRef.h.

◆ operator=() [2/2]

template<typename PlainObjectType>
TensorRef& Eigen::TensorRef< PlainObjectType >::operator= ( const TensorRef< PlainObjectType > &  other)
inline

Definition at line 180 of file TensorRef.h.

◆ rank()

template<typename PlainObjectType>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index Eigen::TensorRef< PlainObjectType >::rank ( ) const
inline

Definition at line 191 of file TensorRef.h.

◆ size()

template<typename PlainObjectType>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index Eigen::TensorRef< PlainObjectType >::size ( ) const
inline

Definition at line 197 of file TensorRef.h.

◆ unrefEvaluator()

template<typename PlainObjectType>
EIGEN_STRONG_INLINE void Eigen::TensorRef< PlainObjectType >::unrefEvaluator ( )
inlineprivate

Definition at line 352 of file TensorRef.h.

Member Data Documentation

◆ m_evaluator

template<typename PlainObjectType>
internal::TensorLazyBaseEvaluator<Dimensions, Scalar>* Eigen::TensorRef< PlainObjectType >::m_evaluator
private

Definition at line 361 of file TensorRef.h.

◆ NumIndices

template<typename PlainObjectType>
const Index Eigen::TensorRef< PlainObjectType >::NumIndices = PlainObjectType::NumIndices
static

Definition at line 138 of file TensorRef.h.


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


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:44:15