GrPPI  1.0
Generic and Reusable Parallel Pattern Interface
Classes | Namespaces | Typedefs | Functions | Variables
callable_traits.h File Reference
#include <type_traits>
Include dependency graph for callable_traits.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  grppi::internal::identity< T >
 Identity type trait. More...
 
struct  grppi::internal::callable_helper< T >
 
struct  grppi::internal::callable_helper< R(Args...)>
 
struct  grppi::internal::callable_helper< R(*)(Args...)>
 
struct  grppi::internal::callable_helper< R(C::*)(Args...) const >
 
struct  grppi::internal::callable_helper< R(C::*)(Args...)>
 
struct  grppi::internal::callable< T >
 

Namespaces

 grppi
 
 grppi::internal
 

Typedefs

template<typename G >
using grppi::requires_generator = typename std::enable_if_t< is_generator< G >, int >
 
template<typename F >
using grppi::requires_arguments = typename std::enable_if_t< internal::has_arguments< F >(), int >
 
template<typename F , typename I >
using grppi::requires_consumer = typename std::enable_if_t< internal::has_void_return< F(I)>(), int >
 

Functions

template<typename T >
constexpr size_t grppi::internal::callable_arity ()
 
template<typename G >
constexpr bool grppi::internal::has_void_return ()
 
template<typename F , typename I >
constexpr bool grppi::internal::has_void_return ()
 
template<typename F >
constexpr bool grppi::internal::has_arguments ()
 

Variables

template<typename F , typename I >
constexpr bool grppi::is_consumer = internal::has_void_return<F,I>()
 
template<typename G >
constexpr bool grppi::is_generator