2#ifndef poplar_CallbackTraits_hpp
3#define poplar_CallbackTraits_hpp
14template <
typename... Args>
using void_type = void;
17template <
typename Result,
typename Ret,
typename =
void>
18struct is_invocable_impl : std::false_type {};
22template <
typename Result,
typename Ret>
23struct is_invocable_impl<Result, Ret, void_type<typename Result::type>>
24 : std::is_void<Ret> {};
30struct is_callback : is_invocable_impl<std::result_of<F &(void *)>, void> {};
36struct is_host_callback
38 std::result_of<F &(ArrayRef<const void *>, ArrayRef<void *>)>, void> {
42struct remove_cvref : std::remove_cv<typename std::remove_reference<T>::type> {
Poplar classes and functions.
Definition: ArrayRef.hpp:14