alpaka
Abstraction Library for Parallel Kernel Acceleration
Concepts.hpp File Reference
#include <type_traits>

Go to the source code of this file.

Classes

struct  alpaka::concepts::detail::ImplementationBaseType< TConcept, TDerived, std::enable_if_t< ImplementsConcept< TConcept, TDerived >::value > >
 For types that inherit from "Implements<TConcept, ...>" it finds the base class (TBase) which implements the concept. More...
 
struct  alpaka::concepts::detail::ImplementationBaseType< TConcept, TDerived, std::enable_if_t<!ImplementsConcept< TConcept, TDerived >::value > >
 Base case for types that do not inherit from "Implements<TConcept, ...>" is the type itself. More...
 
struct  alpaka::concepts::Implements< TConcept, TBase >
 Tag used in class inheritance hierarchies that describes that a specific concept (TConcept) is implemented by the given base class (TBase). More...
 
struct  alpaka::concepts::ImplementsConcept< TConcept, TDerived >
 Checks whether the concept is implemented by the given class. More...
 

Namespaces

 alpaka
 The alpaka accelerator library.
 
 alpaka::concepts
 
 alpaka::concepts::detail
 

Typedefs

template<typename TConcept , typename TDerived >
using alpaka::concepts::ImplementationBase = typename detail::ImplementationBaseType< TConcept, TDerived >::type
 Returns the type that implements the given concept in the inheritance hierarchy. More...