11#ifndef EIGEN_TENSOR_TENSOR_DIMENSION_LIST_H
12#define EIGEN_TENSOR_TENSOR_DIMENSION_LIST_H
15#include "./InternalHeaderCheck.h"
27template <
typename Index, std::
size_t Rank>
29 constexpr EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE
const Index operator[](
const Index i)
const {
return i; }
34template <
typename Index, std::
size_t Rank>
35struct array_size<DimensionList<Index, Rank> > {
36 static constexpr size_t value = Rank;
38template <
typename Index, std::
size_t Rank>
39struct array_size<const DimensionList<Index, Rank> > {
40 static constexpr size_t value = Rank;
43template <DenseIndex n,
typename Index, std::
size_t Rank>
44constexpr Index array_get(
const DimensionList<Index, Rank>&) {
48template <
typename Index, std::
size_t Rank>
49struct index_known_statically_impl<DimensionList<Index, Rank> > {
50 EIGEN_DEVICE_FUNC
static constexpr bool run(
const DenseIndex) {
return true; }
53template <
typename Index, std::
size_t Rank>
54struct all_indices_known_statically_impl<DimensionList<Index, Rank> > {
55 EIGEN_DEVICE_FUNC
static constexpr bool run() {
return true; }
58template <
typename Index, std::
size_t Rank>
59struct indices_statically_known_to_increase_impl<DimensionList<Index, Rank> > {
60 EIGEN_DEVICE_FUNC
static constexpr bool run() {
return true; }
63template <
typename Index, std::
size_t Rank>
64struct index_statically_eq_impl<DimensionList<Index, Rank> > {
65 EIGEN_DEVICE_FUNC
static constexpr bool run(
const DenseIndex i,
const DenseIndex value) {
return i == value; }
68template <
typename Index, std::
size_t Rank>
69struct index_statically_ne_impl<DimensionList<Index, Rank> > {
70 EIGEN_DEVICE_FUNC
static constexpr bool run(
const DenseIndex i,
const DenseIndex value) {
return i != value; }
73template <
typename Index, std::
size_t Rank>
74struct index_statically_gt_impl<DimensionList<Index, Rank> > {
75 EIGEN_DEVICE_FUNC
static constexpr bool run(
const DenseIndex i,
const DenseIndex value) {
return i > value; }
78template <
typename Index, std::
size_t Rank>
79struct index_statically_lt_impl<DimensionList<Index, Rank> > {
80 EIGEN_DEVICE_FUNC
static constexpr bool run(
const DenseIndex i,
const DenseIndex value) {
return i < value; }
Namespace containing all symbols from the Eigen library.