is_invocable_impl.hpp
Go to the documentation of this file.
constexpr auto get(span< E, S > s) -> decltype(s[N])
Definition: span.h:492
std::integral_constant< bool, can_dereference_t< T >::value > can_dereference
Definition: is_invocable_impl.hpp:42
typename std::conditional< IsBaseOf::value||IsSame::value, T, generalize< T > >::type generalize_if_dissimilar
Definition: is_invocable_impl.hpp:73
typename BOOST_CLBL_TRTS_DISJUNCTION(function_object< unwrap_reference< T > >, function< T >, pmf< T >, pmd< T >, default_callable_traits< T >)::traits traits
Definition: traits.hpp:25
typename is_reference_wrapper_t< shallow_decay< T > >::type is_reference_wrapper
Definition: utility.hpp:93
typename generalize_t< T >::type generalize
Definition: is_invocable_impl.hpp:66
Definition: add_member_const.hpp:14
static std::int8_t test(check< typename std::remove_reference< decltype(*std::declval< U >())>::type > *)
static constexpr const bool value
Definition: is_invocable_impl.hpp:35
static std::int16_t test(...)
error_t class_type
Definition: default_callable_traits.hpp:89
decltype(std::declval< T >().get()) type
Definition: is_invocable_impl.hpp:59
decltype(*std::declval< T >()) type
Definition: is_invocable_impl.hpp:54
std::false_type type
Definition: is_invocable_impl.hpp:130
decltype(test{}(0, ::std::declval< Args >()...)) result
Definition: is_invocable_impl.hpp:124
detail::traits< T > traits
Definition: is_invocable_impl.hpp:122
std::integral_constant< bool, result::value > type
Definition: is_invocable_impl.hpp:125
std::false_type type
Definition: is_invocable_impl.hpp:145
detail::traits< T > traits
Definition: is_invocable_impl.hpp:135
decltype(test{}(0, ::std::declval< Args >()...)) result
Definition: is_invocable_impl.hpp:137
std::integral_constant< bool, std::is_convertible< typename result::_::type, Ret >::value||std::is_same< Ret, void >::value > type
Definition: is_invocable_impl.hpp:140
Definition: pmd.hpp:21
Definition: pmf.hpp:43
auto operator()(...) const -> substitution_failure
typename pmd< Pmd >::class_type class_t
Definition: is_invocable_impl.hpp:110
auto operator()(long,...) const -> substitution_failure
auto operator()(int, U &&u) const -> success< decltype(std::declval< Obj >().*std::declval< Pmd >())>
typename pmf< Pmf >::class_type class_t
Definition: is_invocable_impl.hpp:97
auto operator()(long,...) const -> substitution_failure
auto operator()(int, U &&u, Rgs &&... rgs) const -> success< decltype((std::declval< Obj >().*std::declval< Pmf >())(static_cast< Rgs && >(rgs)...))>
auto operator()(int, Rgs &&... rgs) const -> success< decltype(std::declval< U >()(static_cast< Rgs && >(rgs)...))>
auto operator()(long,...) const -> substitution_failure