Eigen::internal::TensorBlockDescriptor< NumDims, IndexType > Class Template Reference

#include <TensorBlock.h>

Classes

class  DestinationBuffer
 

Public Types

typedef DSizes< IndexType, NumDims > Dimensions
 

Public Member Functions

 TensorBlockDescriptor (const IndexType offset, const Dimensions &dimensions, const DestinationBuffer &destination)
 
 TensorBlockDescriptor (const IndexType offset, const Dimensions &dimensions)
 
IndexType offset () const
 
const Dimensionsdimensions () const
 
IndexType dimension (int index) const
 
IndexType size () const
 
const DestinationBufferdestination () const
 
template<int Layout, typename Scalar >
void AddDestinationBuffer (Scalar *dst_base, const Dimensions &dst_strides)
 
template<int Layout, typename Scalar , typename DstStridesIndexType >
void AddDestinationBuffer (Scalar *dst_base, const DSizes< DstStridesIndexType, NumDims > &dst_strides)
 
TensorBlockDescriptorDropDestinationBuffer ()
 
bool HasDestinationBuffer () const
 
TensorBlockDescriptor WithOffset (IndexType offset) const
 

Private Attributes

const IndexType m_offset
 
const Dimensions m_dimensions
 
DestinationBuffer m_destination
 

Member Typedef Documentation

◆ Dimensions

template<int NumDims, typename IndexType = Eigen::Index>
typedef DSizes<IndexType, NumDims> Eigen::internal::TensorBlockDescriptor< NumDims, IndexType >::Dimensions

Constructor & Destructor Documentation

◆ TensorBlockDescriptor() [1/2]

template<int NumDims, typename IndexType = Eigen::Index>
Eigen::internal::TensorBlockDescriptor< NumDims, IndexType >::TensorBlockDescriptor ( const IndexType  offset,
const Dimensions dimensions,
const DestinationBuffer destination 
)
inline
const DestinationBuffer & destination() const
Definition: TensorBlock.h:275
IndexType offset() const
Definition: TensorBlock.h:270
const Dimensions & dimensions() const
Definition: TensorBlock.h:271
const IndexType m_offset
Definition: TensorBlock.h:305
DestinationBuffer m_destination
Definition: TensorBlock.h:307
const Dimensions m_dimensions
Definition: TensorBlock.h:306

Referenced by Eigen::internal::TensorBlockDescriptor< NumDims, IndexType >::WithOffset().

◆ TensorBlockDescriptor() [2/2]

template<int NumDims, typename IndexType = Eigen::Index>
Eigen::internal::TensorBlockDescriptor< NumDims, IndexType >::TensorBlockDescriptor ( const IndexType  offset,
const Dimensions dimensions 
)
inline
268  : m_offset(offset), m_dimensions(dimensions), m_destination(DestinationBuffer()) {}

Member Function Documentation

◆ AddDestinationBuffer() [1/2]

template<int NumDims, typename IndexType = Eigen::Index>
template<int Layout, typename Scalar >
void Eigen::internal::TensorBlockDescriptor< NumDims, IndexType >::AddDestinationBuffer ( Scalar dst_base,
const Dimensions dst_strides 
)
inline
278  {
279  eigen_assert(dst_base != NULL);
280  m_destination = DestinationBuffer::template make<Layout>(*this, dst_base, dst_strides);
281  }
#define eigen_assert(x)
Definition: Macros.h:910

References eigen_assert, and Eigen::internal::TensorBlockDescriptor< NumDims, IndexType >::m_destination.

◆ AddDestinationBuffer() [2/2]

template<int NumDims, typename IndexType = Eigen::Index>
template<int Layout, typename Scalar , typename DstStridesIndexType >
void Eigen::internal::TensorBlockDescriptor< NumDims, IndexType >::AddDestinationBuffer ( Scalar dst_base,
const DSizes< DstStridesIndexType, NumDims > &  dst_strides 
)
inline
284  {
285  // DSizes constructor will do index type promotion if it's safe.
286  AddDestinationBuffer<Layout>(dst_base, Dimensions(dst_strides));
287  }
DSizes< IndexType, NumDims > Dimensions
Definition: TensorBlock.h:173

◆ destination()

◆ dimension()

◆ dimensions()

◆ DropDestinationBuffer()

template<int NumDims, typename IndexType = Eigen::Index>
TensorBlockDescriptor& Eigen::internal::TensorBlockDescriptor< NumDims, IndexType >::DropDestinationBuffer ( )
inline

◆ HasDestinationBuffer()

◆ offset()

template<int NumDims, typename IndexType = Eigen::Index>
IndexType Eigen::internal::TensorBlockDescriptor< NumDims, IndexType >::offset ( ) const
inline
270 { return m_offset; }

References Eigen::internal::TensorBlockDescriptor< NumDims, IndexType >::m_offset.

Referenced by Eigen::TensorEvaluator< const TensorChippingOp< DimId, ArgType >, Device >::block(), Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::block(), Eigen::TensorEvaluator< const TensorBroadcastingOp< Broadcast, ArgType >, Device >::block(), Eigen::TensorEvaluator< const TensorGeneratorOp< Generator, ArgType >, Device >::block(), Eigen::TensorEvaluator< const TensorReshapingOp< NewDimensions, ArgType >, Device >::block(), Eigen::TensorEvaluator< const TensorSlicingOp< StartIndices, Sizes, ArgType >, Device >::block(), Eigen::TensorEvaluator< const TensorPaddingOp< PaddingDimensions, ArgType >, Device >::block(), Eigen::TensorEvaluator< const TensorReverseOp< ReverseDimensions, ArgType >, Device >::block(), Eigen::TensorEvaluator< const TensorRollOp< RollDimensions, ArgType >, Device >::block(), Eigen::TensorEvaluator< const TensorAssignOp< LeftArgType, RightArgType >, Device >::evalBlock(), Eigen::TensorEvaluator< const TensorEvalToOp< ArgType, MakePointer_ >, Device >::evalBlock(), Eigen::internal::TensorMaterializedBlock< Scalar, NumDims, Layout, IndexType >::materialize(), Eigen::internal::TensorBlockDescriptor< NumDims, IndexType >::WithOffset(), Eigen::TensorEvaluator< TensorChippingOp< DimId, ArgType >, Device >::writeBlock(), Eigen::TensorEvaluator< Derived, Device >::writeBlock(), Eigen::TensorEvaluator< TensorReshapingOp< NewDimensions, ArgType >, Device >::writeBlock(), Eigen::TensorEvaluator< TensorSlicingOp< StartIndices, Sizes, ArgType >, Device >::writeBlock(), and Eigen::TensorEvaluator< TensorShufflingOp< Shuffle, ArgType >, Device >::writeBlock().

◆ size()

◆ WithOffset()

Member Data Documentation

◆ m_destination

◆ m_dimensions

◆ m_offset

template<int NumDims, typename IndexType = Eigen::Index>
const IndexType Eigen::internal::TensorBlockDescriptor< NumDims, IndexType >::m_offset
private

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