Eigen::Sizes< Indices > Struct Template Reference

#include <TensorDimensions.h>

Public Types

typedef internal::numeric_list< std::ptrdiff_t, Indices... > Base
 

Public Member Functions

EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::ptrdiff_t rank () const
 
EIGEN_DEVICE_FUNC Sizes ()
 
template<typename DenseIndex >
EIGEN_DEVICE_FUNC Sizes (const array< DenseIndex, Base::count > &)
 
template<typename... DenseIndex>
EIGEN_DEVICE_FUNC Sizes (DenseIndex...)
 
EIGEN_DEVICE_FUNC Sizes (std::initializer_list< std::ptrdiff_t >)
 
template<typename T >
Sizesoperator= (const T &)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::ptrdiff_t operator[] (const std::ptrdiff_t index) const
 
template<typename DenseIndex >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ptrdiff_t IndexOfColMajor (const array< DenseIndex, Base::count > &indices) const
 
template<typename DenseIndex >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ptrdiff_t IndexOfRowMajor (const array< DenseIndex, Base::count > &indices) const
 

Static Public Member Functions

static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::ptrdiff_t TotalSize ()
 

Public Attributes

const Base t = Base()
 

Static Public Attributes

static const std::ptrdiff_t total_size = internal::arg_prod(Indices...)
 
static const ptrdiff_t count = Base::count
 

Member Typedef Documentation

◆ Base

template<typename std::ptrdiff_t... Indices>
typedef internal::numeric_list<std::ptrdiff_t, Indices...> Eigen::Sizes< Indices >::Base

Constructor & Destructor Documentation

◆ Sizes() [1/4]

template<typename std::ptrdiff_t... Indices>
EIGEN_DEVICE_FUNC Eigen::Sizes< Indices >::Sizes ( )
inline
95 {}

◆ Sizes() [2/4]

template<typename std::ptrdiff_t... Indices>
template<typename DenseIndex >
EIGEN_DEVICE_FUNC Eigen::Sizes< Indices >::Sizes ( const array< DenseIndex, Base::count > &  )
inlineexplicit
97  {
98  // todo: add assertion
99  }

◆ Sizes() [3/4]

template<typename std::ptrdiff_t... Indices>
template<typename... DenseIndex>
EIGEN_DEVICE_FUNC Eigen::Sizes< Indices >::Sizes ( DenseIndex...  )
inline
101 {}

◆ Sizes() [4/4]

template<typename std::ptrdiff_t... Indices>
EIGEN_DEVICE_FUNC Eigen::Sizes< Indices >::Sizes ( std::initializer_list< std::ptrdiff_t >  )
inlineexplicit
102  {
103  // todo: add assertion
104  }

Member Function Documentation

◆ IndexOfColMajor()

template<typename std::ptrdiff_t... Indices>
template<typename DenseIndex >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ptrdiff_t Eigen::Sizes< Indices >::IndexOfColMajor ( const array< DenseIndex, Base::count > &  indices) const
inline
117  {
119  indices, t);
120  }
const Base t
Definition: TensorDimensions.h:87
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index run(array< Index, NumIndices > const &indices, const Dimensions &dimensions)
Definition: TensorDimensions.h:45

References Eigen::internal::fixed_size_tensor_index_linearization_helper< Index, NumIndices, n, RowMajor >::run(), and Eigen::Sizes< Indices >::t.

◆ IndexOfRowMajor()

template<typename std::ptrdiff_t... Indices>
template<typename DenseIndex >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ptrdiff_t Eigen::Sizes< Indices >::IndexOfRowMajor ( const array< DenseIndex, Base::count > &  indices) const
inline

◆ operator=()

template<typename std::ptrdiff_t... Indices>
template<typename T >
Sizes& Eigen::Sizes< Indices >::operator= ( const T )
inline
107  {
108  // add assertion failure if the size of other is different
109  return *this;
110  }

◆ operator[]()

template<typename std::ptrdiff_t... Indices>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::ptrdiff_t Eigen::Sizes< Indices >::operator[] ( const std::ptrdiff_t  index) const
inline
112  {
114  }
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index run(const Index index, const Dimensions &dimensions)
Definition: TensorDimensions.h:66

References Eigen::internal::fixed_size_tensor_index_extraction_helper< Index, n >::run(), and Eigen::Sizes< Indices >::t.

◆ rank()

template<typename std::ptrdiff_t... Indices>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::ptrdiff_t Eigen::Sizes< Indices >::rank ( ) const
inline
91 { return Base::count; }
constexpr static std::size_t count
Definition: MoreMeta.h:34

References Eigen::internal::numeric_list< T, nn >::count.

Referenced by test_rank_zero().

◆ TotalSize()

template<typename std::ptrdiff_t... Indices>
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::ptrdiff_t Eigen::Sizes< Indices >::TotalSize ( )
inlinestatic
93 { return internal::arg_prod(Indices...); }
constexpr EIGEN_DEVICE_FUNCdecltype(reduce< product_op, Ts... >::run((*((Ts *) 0))...)) EIGEN_STRONG_INLIN arg_prod)(Ts... ts)
Definition: MoreMeta.h:435

References Eigen::internal::arg_prod.

Referenced by test_fixed_size(), and test_rank_zero().

Member Data Documentation

◆ count

template<typename std::ptrdiff_t... Indices>
const ptrdiff_t Eigen::Sizes< Indices >::count = Base::count
static

◆ t

template<typename std::ptrdiff_t... Indices>
const Base Eigen::Sizes< Indices >::t = Base()

◆ total_size

template<typename std::ptrdiff_t... Indices>
const std::ptrdiff_t Eigen::Sizes< Indices >::total_size = internal::arg_prod(Indices...)
static

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