MCRO
C++23 utilities for Unreal Engine.
Loading...
Searching...
No Matches
Mcro::FunctionTraits::TDeferFunctionArguments< FuncPtr, Function > Struct Template Reference

Defers a set of arguments for a function call later with its first argument. This is useful for developing fluent API operators. More...

#include <FunctionTraits.h>

Public Types

using FirstArg = TFunction_Arg<Function, 0>
 
using ExtraArgs = TSkip<1, TFunction_Arguments<Function>>
 
using Return = TFunction_Return<Function>
 

Public Member Functions

template<typename... Args>
 TDeferFunctionArguments (Args... args)
 
template<CConvertibleToDecayed< FirstArg > FirstArgRef>
Return operator() (FirstArgRef &&arg)
 

Detailed Description

template<auto FuncPtr, CFunctionPtr Function = decltype(FuncPtr)>
requires ( CFunctionPtr<decltype(FuncPtr)> && TFunction_ArgCount<decltype(FuncPtr)> > 0 )
struct Mcro::FunctionTraits::TDeferFunctionArguments< FuncPtr, Function >

Defers a set of arguments for a function call later with its first argument. This is useful for developing fluent API operators.

Definition at line 301 of file FunctionTraits.h.

Member Typedef Documentation

◆ ExtraArgs

template<auto FuncPtr, CFunctionPtr Function = decltype(FuncPtr)>
using Mcro::FunctionTraits::TDeferFunctionArguments< FuncPtr, Function >::ExtraArgs = TSkip<1, TFunction_Arguments<Function>>

Definition at line 304 of file FunctionTraits.h.

◆ FirstArg

template<auto FuncPtr, CFunctionPtr Function = decltype(FuncPtr)>
using Mcro::FunctionTraits::TDeferFunctionArguments< FuncPtr, Function >::FirstArg = TFunction_Arg<Function, 0>

Definition at line 303 of file FunctionTraits.h.

◆ Return

template<auto FuncPtr, CFunctionPtr Function = decltype(FuncPtr)>
using Mcro::FunctionTraits::TDeferFunctionArguments< FuncPtr, Function >::Return = TFunction_Return<Function>

Definition at line 305 of file FunctionTraits.h.

Constructor & Destructor Documentation

◆ TDeferFunctionArguments()

template<auto FuncPtr, CFunctionPtr Function = decltype(FuncPtr)>
template<typename... Args>
Mcro::FunctionTraits::TDeferFunctionArguments< FuncPtr, Function >::TDeferFunctionArguments ( Args... args)
inline

Definition at line 308 of file FunctionTraits.h.

Member Function Documentation

◆ operator()()

template<auto FuncPtr, CFunctionPtr Function = decltype(FuncPtr)>
template<CConvertibleToDecayed< FirstArg > FirstArgRef>
Return Mcro::FunctionTraits::TDeferFunctionArguments< FuncPtr, Function >::operator() ( FirstArgRef && arg)
inline

Definition at line 313 of file FunctionTraits.h.


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