#include <type_traits>
Go to the source code of this file.
|
struct | alpaka::interface::detail::ImplementationBaseType< TInterface, TDerived, std::enable_if_t< ImplementsInterface< TInterface, TDerived >::value > > |
| For types that inherit from "Implements<TInterface, ...>" it finds the base class (TBase) which implements the interface. More...
|
|
struct | alpaka::interface::detail::ImplementationBaseType< TInterface, TDerived, std::enable_if_t<!ImplementsInterface< TInterface, TDerived >::value > > |
| Base case for types that do not inherit from "Implements<TInterface, ...>" is the type itself. More...
|
|
struct | alpaka::interface::Implements< TInterface, TBase > |
| Tag used in class inheritance hierarchies that describes that a specific interface (TInterface) is implemented by the given base class (TBase). More...
|
|
struct | alpaka::interface::ImplementsInterface< TInterface, TDerived > |
| Checks whether the interface is implemented by the given class. More...
|
|
|
template<typename TInterface , typename TDerived > |
using | alpaka::interface::ImplementationBase = typename detail::ImplementationBaseType< TInterface, TDerived >::type |
| Returns the type that implements the given interface in the inheritance hierarchy. More...
|
|