23 std::vector<NullableDatumRef>
args;
53 #define FMGR_FUNCTION_ARGS ::taco::FunctionCallInfo &fcinfo_
58 #define FMGR_NARGS() (fcinfo_.args.size())
63 #define FMGR_ARG(n) (fcinfo_.args[n])
69 #define FMGR_TYPPARAM() (fcinfo_.typparam)
75 #define FMGR_RETURN_VOID() return Datum::From(0)
80 template<
class ...Args>
84 .
args = std::vector<NullableDatumRef>{std::forward<Args>(args)...},
94 template<
class ...Args>
100 .
args = std::vector<NullableDatumRef>{std::forward<Args>(args)...},
101 .typparam = typparam,
A Datum stores and possibly manage the memory resource of a read-only value of a plain fixed-length C...
Definition: datum.h:250
Datum FunctionCall(const FunctionInfo &func, Args &&...args)
Call a function without passing any type parameter for the return type.
Definition: fmgr.h:82
Datum(* FunctionPtr)(FunctionCallInfo &fcinfo)
Definition: fmgr.h:28
Datum FunctionCallWithTypparam(const FunctionInfo &func, uint64_t typparam, Args &&...args)
Definition: fmgr.h:96
std::function< Datum(FunctionCallInfo &)> FunctionInfo
An FMGR managed function should be declared as.
Definition: fmgr.h:50
This struct is the data actually passed to an fmgr function.
Definition: fmgr.h:22
uint64_t typparam
Definition: fmgr.h:24
std::vector< NullableDatumRef > args
Definition: fmgr.h:23