CMS 3D CMS Logo

Classes | Typedefs | Functions | Variables
portablecollection Namespace Reference

Classes

struct  CollectionImpl
 
struct  CollectionImpl< Idx, T >
 
struct  CollectionLeaf
 
struct  Collections
 
struct  TupleTypeIndex
 
struct  TupleTypeIndex< T, std::tuple< T, Args... > >
 
struct  TupleTypeIndex< T, std::tuple< U, Args... > >
 

Typedefs

template<typename T , typename... Args>
using TypeIndex = TupleTypeIndex< T, std::tuple< Args... > >
 
template<std::size_t Idx, typename... Args>
using TypeResolver = typename std::tuple_element< Idx, std::tuple< Args... > >::type
 

Functions

template<std::size_t Start, std::size_t End, std::size_t Inc = 1, typename F >
constexpr void constexpr_for (F &&f)
 

Variables

template<typename... Args>
constexpr std::size_t membersCount = sizeof...(Args)
 
template<typename T , typename... Args>
constexpr std::size_t typeCount = ((std::is_same<T, Args>::value ? 1 : 0) + ... + 0)
 
template<typename T , typename... Args>
constexpr std::size_t typeIndex = TypeIndex<T, Args...>::value
 

Typedef Documentation

◆ TypeIndex

template<typename T , typename... Args>
using portablecollection::TypeIndex = typedef TupleTypeIndex<T, std::tuple<Args...> >

Definition at line 95 of file PortableCollectionCommon.h.

◆ TypeResolver

template<std::size_t Idx, typename... Args>
using portablecollection::TypeResolver = typedef typename std::tuple_element<Idx, std::tuple<Args...> >::type

Definition at line 64 of file PortableCollectionCommon.h.

Function Documentation

◆ constexpr_for()

template<std::size_t Start, std::size_t End, std::size_t Inc = 1, typename F >
constexpr void portablecollection::constexpr_for ( F &&  f)

Definition at line 12 of file PortableCollectionCommon.h.

References ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr(), PixelRegions::End, and f.

12  {
13  if constexpr (Start < End) {
14  f(std::integral_constant<std::size_t, Start>());
15  constexpr_for<Start + Inc, End, Inc>(std::forward<F>(f));
16  }
17  }
double f[11][100]

Variable Documentation

◆ membersCount

template<typename... Args>
constexpr std::size_t portablecollection::membersCount = sizeof...(Args)
inline

Definition at line 72 of file PortableCollectionCommon.h.

◆ typeCount

template<typename T , typename... Args>
constexpr std::size_t portablecollection::typeCount = ((std::is_same<T, Args>::value ? 1 : 0) + ... + 0)
inline

Definition at line 68 of file PortableCollectionCommon.h.

◆ typeIndex

template<typename T , typename... Args>
constexpr std::size_t portablecollection::typeIndex = TypeIndex<T, Args...>::value
inline