Eigen::internal::tuple_impl Namespace Reference

Classes

class  TupleImpl
 
class  TupleImpl< N, T1, Ts... >
 
class  TupleImpl< size_t(0)>
 
struct  is_tuple
 
struct  is_tuple< TupleImpl< sizeof...(Types), Types... > >
 
struct  tuple_get_impl
 
struct  tuple_get_impl< 0, T1, Ts... >
 
struct  tuple_cat_impl
 
struct  tuple_cat_impl< NTuples, TupleImpl< N1, Args1... >, TupleImpl< N2, Args2... >, Tuples... >
 
struct  tuple_cat_impl< 1, TupleImpl< N, Args... > >
 
struct  tuple_cat_impl< 0 >
 
struct  unwrap_reference_wrapper
 
struct  unwrap_reference_wrapper< std::reference_wrapper< T > >
 
struct  unwrap_decay
 
struct  tuple_size
 
struct  tuple_size< TupleImpl< sizeof...(Types), Types... > >
 

Typedefs

template<typename... Types>
using tuple = TupleImpl< sizeof...(Types), Types... >
 

Functions

template<size_t Idx, typename... Types>
EIGEN_CONSTEXPR EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const tuple_get_impl< Idx, Types... >::ReturnType & get (const TupleImpl< sizeof...(Types), Types... > &tuple)
 
template<size_t Idx, typename... Types>
EIGEN_CONSTEXPR EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE tuple_get_impl< Idx, Types... >::ReturnType & get (TupleImpl< sizeof...(Types), Types... > &tuple)
 
template<typename... Tuples, typename EnableIf = std::enable_if_t< internal::reduce_all<is_tuple<typename std::decay<Tuples>::type>::value...>::value>>
EIGEN_CONSTEXPR EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE tuple_cat_impl< sizeof...(Tuples), typename std::decay< Tuples >::type... >::ReturnType tuple_cat (Tuples &&... tuples)
 
template<typename... Args, typename ReturnType = TupleImpl<sizeof...(Args), Args&...>>
EIGEN_CONSTEXPR EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ReturnType tie (Args &... args) EIGEN_NOEXCEPT
 
template<typename... Args, typename ReturnType = TupleImpl<sizeof...(Args), typename unwrap_decay<Args>::type...>>
EIGEN_CONSTEXPR EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ReturnType make_tuple (Args &&... args)
 
template<typename... Args>
EIGEN_CONSTEXPR EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TupleImpl< sizeof...(Args), Args... > forward_as_tuple (Args &&... args)
 

Typedef Documentation

◆ tuple

template<typename... Types>
using Eigen::internal::tuple_impl::tuple = typedef TupleImpl<sizeof...(Types), Types...>

Alternative to std::tuple that can be used on device.

Function Documentation

◆ forward_as_tuple()

template<typename... Args>
EIGEN_CONSTEXPR EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TupleImpl<sizeof...(Args), Args...> Eigen::internal::tuple_impl::forward_as_tuple ( Args &&...  args)

Forward a set of arguments as a tuple.

259  {
260  return TupleImpl<sizeof...(Args), Args...>(std::forward<Args>(args)...);
261 }
args
Definition: compute_granudrum_aor.py:143

References compute_granudrum_aor::args.

Referenced by basic_tuple_test().

◆ get() [1/2]

template<size_t Idx, typename... Types>
EIGEN_CONSTEXPR EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const tuple_get_impl<Idx, Types...>::ReturnType& Eigen::internal::tuple_impl::get ( const TupleImpl< sizeof...(Types), Types... > &  tuple)

Gets an element of a tuple.

Template Parameters
Idxindex of the element.
Types... tuple element types.
Parameters
tuplethe tuple.
Returns
a reference to the desired element.
215  {
217 }
TupleImpl< sizeof...(Types), Types... > tuple
Definition: Tuple.h:267
void run(const string &dir_name, LinearSolver *linear_solver_pt, const unsigned nel_1d, bool mess_up_order)
Definition: two_d_poisson_compare_solvers.cc:317

References Eigen::internal::tuple_impl::tuple_get_impl< Idx, T1, Ts >::run().

◆ get() [2/2]

template<size_t Idx, typename... Types>
EIGEN_CONSTEXPR EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE tuple_get_impl<Idx, Types...>::ReturnType& Eigen::internal::tuple_impl::get ( TupleImpl< sizeof...(Types), Types... > &  tuple)

◆ make_tuple()

template<typename... Args, typename ReturnType = TupleImpl<sizeof...(Args), typename unwrap_decay<Args>::type...>>
EIGEN_CONSTEXPR EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ReturnType Eigen::internal::tuple_impl::make_tuple ( Args &&...  args)

Create a tuple of l-values with the supplied arguments.

250  {
251  return ReturnType{std::forward<Args>(args)...};
252 }

References compute_granudrum_aor::args.

Referenced by basic_tuple_test(), and Eigen::internal::run_serialized().

◆ tie()

template<typename... Args, typename ReturnType = TupleImpl<sizeof...(Args), Args&...>>
EIGEN_CONSTEXPR EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ReturnType Eigen::internal::tuple_impl::tie ( Args &...  args)

Tie arguments together into a tuple.

242  {
243  return ReturnType{args...};
244 }

References compute_granudrum_aor::args.

Referenced by basic_tuple_test(), and eigen_tuple_test().

◆ tuple_cat()

template<typename... Tuples, typename EnableIf = std::enable_if_t< internal::reduce_all<is_tuple<typename std::decay<Tuples>::type>::value...>::value>>
EIGEN_CONSTEXPR EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE tuple_cat_impl<sizeof...(Tuples), typename std::decay<Tuples>::type...>::ReturnType Eigen::internal::tuple_impl::tuple_cat ( Tuples &&...  tuples)

Concatenate multiple tuples.

Parameters
tuples... list of tuples.
Returns
concatenated tuple.
234  {
235  return tuple_cat_impl<sizeof...(Tuples), typename std::decay<Tuples>::type...>::run(std::forward<Tuples>(tuples)...);
236 }
type
Definition: compute_granudrum_aor.py:141

References Eigen::run(), and compute_granudrum_aor::type.

Referenced by basic_tuple_test().