13 template<
typename Tag,
typename... Args>
15 ->
decltype(
tag_invoke(
static_cast<Tag&&
>(tag),
static_cast<Args&&
>(args)...)) {
16 return tag_invoke(
static_cast<Tag&&
>(tag),
static_cast<Args&&
>(args)...);
32template<
typename Tag,
typename... Args>
38template<
typename Tag,
typename... Args>
44template<
typename Tag,
typename R,
typename... Args>
Implicit conversion for this test refers to the ability to return a value of function from a type.
Definition operations.h:89
Definition tag_invoke.h:45
Definition tag_invoke.h:33
Definition any_storable.h:9
Definition tag_invoke.h:9
Definition tag_invoke.h:21
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
di::meta::Decay< decltype(T)> Tag
Definition tag_invoke.h:28
auto declval() -> meta::AddRValueReference< T >
Definition declval.h:8
Definition zstring_parser.h:9
Definition tag_invoke.h:12
constexpr auto operator()(Tag tag, Args &&... args) const -> decltype(tag_invoke(static_cast< Tag && >(tag), static_cast< Args && >(args)...))
Definition tag_invoke.h:14