Iros
 
Loading...
Searching...
No Matches
di::vocab::detail::InvokeAsFallibleFunction Struct Reference

#include <di/vocab/expected/invoke_as_fallible.h>

Inheritance diagram for di::vocab::detail::InvokeAsFallibleFunction:
[legend]

Public Member Functions

template<typename F, typename... Args, concepts::DecayConstructible R = meta::InvokeResult<F, Args...>>
requires (concepts::Expected<R>)
constexpr auto operator() (F &&function, Args &&... args) const -> meta::Decay< R >
 
template<typename F, typename... Args, typename R = meta::InvokeResult<F, Args...>, typename G = Expected<meta::UnwrapRefRValue<R>, void>>
requires (!concepts::Expected<R> && concepts::ConstructibleFrom<G, R>)
constexpr auto operator() (F &&function, Args &&... args) const -> G
 
template<typename F, typename... Args, typename R = meta::InvokeResult<F, Args...>>
requires (concepts::LanguageVoid<R>)
constexpr auto operator() (F &&function, Args &&... args) const -> Expected< void, void >
 

Member Function Documentation

◆ operator()() [1/3]

template<typename F, typename... Args, typename R = meta::InvokeResult<F, Args...>>
requires (concepts::LanguageVoid<R>)
auto di::vocab::detail::InvokeAsFallibleFunction::operator() ( F && function,
Args &&... args ) const -> Expected<void, void>
inlineconstexpr

◆ operator()() [2/3]

template<typename F, typename... Args, typename R = meta::InvokeResult<F, Args...>, typename G = Expected<meta::UnwrapRefRValue<R>, void>>
requires (!concepts::Expected<R> && concepts::ConstructibleFrom<G, R>)
auto di::vocab::detail::InvokeAsFallibleFunction::operator() ( F && function,
Args &&... args ) const -> G
inlineconstexpr

◆ operator()() [3/3]

template<typename F, typename... Args, concepts::DecayConstructible R = meta::InvokeResult<F, Args...>>
requires (concepts::Expected<R>)
auto di::vocab::detail::InvokeAsFallibleFunction::operator() ( F && function,
Args &&... args ) const -> meta::Decay<R>
inlineconstexpr

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