cast_tests_impl< RowsAtCompileTime, ColsAtCompileTime, ScalarTypes > Struct Template Reference

Public Types

using ScalarTuple = std::tuple< ScalarTypes... >
 

Static Public Member Functions

template<size_t i = 0, size_t j = i + 1, bool Done = (i >= ScalarTupleSize - 1) || (j >= ScalarTupleSize)>
static std::enable_if_t< Done > run ()
 
template<size_t i = 0, size_t j = i + 1, bool Done = (i >= ScalarTupleSize - 1) || (j >= ScalarTupleSize)>
static std::enable_if_t<!Done > run ()
 

Static Public Attributes

static constexpr size_t ScalarTupleSize = std::tuple_size<ScalarTuple>::value
 

Member Typedef Documentation

◆ ScalarTuple

template<int RowsAtCompileTime, int ColsAtCompileTime, typename... ScalarTypes>
using cast_tests_impl< RowsAtCompileTime, ColsAtCompileTime, ScalarTypes >::ScalarTuple = std::tuple<ScalarTypes...>

Member Function Documentation

◆ run() [1/2]

template<int RowsAtCompileTime, int ColsAtCompileTime, typename... ScalarTypes>
template<size_t i = 0, size_t j = i + 1, bool Done = (i >= ScalarTupleSize - 1) || (j >= ScalarTupleSize)>
static std::enable_if_t<Done> cast_tests_impl< RowsAtCompileTime, ColsAtCompileTime, ScalarTypes >::run ( )
inlinestatic
1315 {}

◆ run() [2/2]

template<int RowsAtCompileTime, int ColsAtCompileTime, typename... ScalarTypes>
template<size_t i = 0, size_t j = i + 1, bool Done = (i >= ScalarTupleSize - 1) || (j >= ScalarTupleSize)>
static std::enable_if_t<!Done> cast_tests_impl< RowsAtCompileTime, ColsAtCompileTime, ScalarTypes >::run ( )
inlinestatic
1318  {
1319  using Type1 = typename std::tuple_element<i, ScalarTuple>::type;
1320  using Type2 = typename std::tuple_element<j, ScalarTuple>::type;
1323  static constexpr size_t next_i = (j == ScalarTupleSize - 1) ? (i + 1) : (i + 0);
1324  static constexpr size_t next_j = (j == ScalarTupleSize - 1) ? (i + 2) : (j + 1);
1325  run<next_i, next_j>();
1326  }
int i
Definition: BiCGSTAB_step_by_step.cpp:9
type
Definition: compute_granudrum_aor.py:141
static void run()
Definition: array_cwise.cpp:1280
static constexpr size_t ScalarTupleSize
Definition: array_cwise.cpp:1312
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2

References i, j, cast_test_impl< SrcType, DstType, RowsAtCompileTime, ColsAtCompileTime >::run(), cast_tests_impl< RowsAtCompileTime, ColsAtCompileTime, ScalarTypes >::ScalarTupleSize, and compute_granudrum_aor::type.

Member Data Documentation

◆ ScalarTupleSize

template<int RowsAtCompileTime, int ColsAtCompileTime, typename... ScalarTypes>
constexpr size_t cast_tests_impl< RowsAtCompileTime, ColsAtCompileTime, ScalarTypes >::ScalarTupleSize = std::tuple_size<ScalarTuple>::value
staticconstexpr

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