SUNphi  1.0
IntSeq.hpp File Reference

Implements a struct holding a sequence of integers. More...

Go to the source code of this file.

Classes

struct  SUNphi::BaseIntSeq
 
struct  SUNphi::ConstrainAreIntSeqs< Args >
 
struct  SUNphi::IntSeq< Ints >
 
struct  SUNphi::IntSeq< Ints >::_AppendFirstN< bool, N, Right >
 
struct  SUNphi::IntSeq< Ints >::_AppendFirstN< true, N, IntSeq< HeadR, TailR... > >
 
struct  SUNphi::IntSeq< Ints >::_AppendFirstN< false, N, IntSeq< R... > >
 
struct  SUNphi::ConstrainIsOrderedIntSeq< T, typename >
 Constrain the IntSeq to be ordered. More...
 
struct  SUNphi::ConstrainIsOrderedUniqueIntSeq< T, typename >
 Constrain the IntSeq to be ordered and unique. More...
 

Typedefs

template<typename T , typename Ret = void>
using SUNphi::EnableIfIsIntSeq = EnableIf< isIntSeq< T >,Ret >
 
template<typename T >
using SUNphi::ConstrainIsIntSeq = ConstrainIsBaseOf< BaseIntSeq,T >
 
template<typename T >
using SUNphi::ConstrainIsNotIntSeq = ConstrainIsNotBaseOf< BaseIntSeq,T >
 

Variables

template<typename T >
constexpr bool SUNphi::isIntSeq = isBaseOf<BaseIntSeq ,T>
 
template<int... Ints>
decltype(auto) constexpr SUNphi::intSeq
 Create an IntSeq with given types. More...
 
template<typename T >
constexpr bool SUNphi::isOrderedIntSeq
 
template<int... Ints>
constexpr bool SUNphi::isOrderedIntSeq< IntSeq< Ints... > >
 

Detailed Description

Implements a struct holding a sequence of integers.

Definition in file IntSeq.hpp.

Typedef Documentation

template<typename T >
using SUNphi::ConstrainIsIntSeq = typedef ConstrainIsBaseOf<BaseIntSeq ,T>

Class forcing T to inherits from BaseIntSeq

Definition at line 18 of file IntSeq.hpp.

template<typename T >
using SUNphi::ConstrainIsNotIntSeq = typedef ConstrainIsNotBaseOf<BaseIntSeq ,T>

Class forcing T not to inherits from BaseIntSeq

Definition at line 18 of file IntSeq.hpp.

template<typename T , typename Ret = void>
using SUNphi::EnableIfIsIntSeq = typedef EnableIf< isIntSeq <T> ,Ret>

Provides the class itself if T is of the given type

Provides the class itself if T satisfies the condition

Definition at line 18 of file IntSeq.hpp.

Variable Documentation

template<int... Ints>
decltype(auto) constexpr SUNphi::intSeq
Initial value:
=
IntSeq<Ints...>{}

Create an IntSeq with given types.

Definition at line 199 of file IntSeq.hpp.

template<typename T >
constexpr bool SUNphi::isIntSeq = isBaseOf<BaseIntSeq ,T>

Expression which is true if T inherits from BaseIntSeq

Definition at line 18 of file IntSeq.hpp.

template<typename T >
constexpr bool SUNphi::isOrderedIntSeq
Initial value:
=
false

Identifies whether a type is an ordered IntSeq

General case

Definition at line 209 of file IntSeq.hpp.

template<int... Ints>
constexpr bool SUNphi::isOrderedIntSeq< IntSeq< Ints... > >
Initial value:
=
IntSeq<Ints...>::isOrdered

Identifies whether a type is an ordered IntSeq

General case

Definition at line 216 of file IntSeq.hpp.