alpaka
Abstraction Library for Parallel Kernel Acceleration
alpaka::interface::ImplementsInterface< TInterface, TDerived > Struct Template Reference

Checks whether the interface is implemented by the given class. More...

#include <Interface.hpp>

Static Public Member Functions

static auto implements (...) -> std::false_type
 
template<typename TBase >
static auto implements (Implements< TInterface, TBase > &) -> std::true_type
 

Static Public Attributes

static constexpr auto value = decltype(implements(std::declval<TDerived&>()))::value
 

Detailed Description

template<typename TInterface, typename TDerived>
struct alpaka::interface::ImplementsInterface< TInterface, TDerived >

Checks whether the interface is implemented by the given class.

Definition at line 20 of file Interface.hpp.

Member Function Documentation

◆ implements() [1/2]

template<typename TInterface , typename TDerived >
static auto alpaka::interface::ImplementsInterface< TInterface, TDerived >::implements (   ...) -> std::false_type
static

◆ implements() [2/2]

template<typename TInterface , typename TDerived >
template<typename TBase >
static auto alpaka::interface::ImplementsInterface< TInterface, TDerived >::implements ( Implements< TInterface, TBase > &  ) -> std::true_type
static

Member Data Documentation

◆ value

template<typename TInterface , typename TDerived >
constexpr auto alpaka::interface::ImplementsInterface< TInterface, TDerived >::value = decltype(implements(std::declval<TDerived&>()))::value
staticconstexpr

Definition at line 26 of file Interface.hpp.


The documentation for this struct was generated from the following file: