Iros
 
Loading...
Searching...
No Matches
di::function::function_ref_ns Namespace Reference

Classes

union  ErasedStorage
 
class  FunctionRef
 
class  FunctionRef< Sig, R(Args...)>
 
struct  SignatureAfterBindFrontHelper
 
struct  SignatureAfterBindFrontHelper< M G::*, T >
 
struct  SignatureAfterBindFrontHelper< R(*)(U, Args...), T >
 
struct  SignatureInfo
 
struct  SignatureInfo< R(Args...) const >
 
struct  SignatureInfo< R(Args...) const noexcept >
 
struct  SignatureInfo< R(Args...) noexcept >
 
struct  SignatureInfo< R(Args...)>
 

Typedefs

template<typename F, typename T>
using SignatureAfterBindFront = meta::Type<SignatureAfterBindFrontHelper<F, T>>
 

Functions

template<typename T>
constexpr auto down_cast (ErasedStorage storage)
 
template<concepts::LanguageFunction F>
 FunctionRef (F *) -> FunctionRef< F >
 
template<auto f, typename F = meta::RemovePointer<decltype(f)>>
requires (concepts::LanguageFunction<F>)
 FunctionRef (Constexpr< f >) -> FunctionRef< F >
 
template<auto f, typename T, typename F = decltype(f)>
 FunctionRef (Constexpr< f >, T &&) -> FunctionRef< SignatureAfterBindFront< F, T > >
 

Typedef Documentation

◆ SignatureAfterBindFront

Function Documentation

◆ down_cast()

template<typename T>
auto di::function::function_ref_ns::down_cast ( ErasedStorage storage)
constexpr

◆ FunctionRef() [1/3]

template<auto f, typename F = meta::RemovePointer<decltype(f)>>
requires (concepts::LanguageFunction<F>)
di::function::function_ref_ns::FunctionRef ( Constexpr< f > ) -> FunctionRef< F >

◆ FunctionRef() [2/3]

template<auto f, typename T, typename F = decltype(f)>
di::function::function_ref_ns::FunctionRef ( Constexpr< f > ,
T &&  ) -> FunctionRef< SignatureAfterBindFront< F, T > >

◆ FunctionRef() [3/3]

template<concepts::LanguageFunction F>
di::function::function_ref_ns::FunctionRef ( F * ) -> FunctionRef< F >