ztsdb
|
#include <valuevar_ic.hpp>
Classes | |
struct | ArgInfo |
Public Types | |
typedef std::tuple< std::string, Value, yy::location > | arg_t |
Public Member Functions | |
VBuiltinG (interp::BaseFrame *r, string name, string signature_s, function< Value(vector< arg_t > &, zcore::InterpCtx &)> f_p, bool evalEllipsis_p=true, map< string, ArgInfo > argInfo_p={}) | |
Value | operator() (interp::BuiltinFrame &a, zcore::InterpCtx &ic) const |
void | checkArgs (const interp::BuiltinFrame &r) const |
Check that the arguments are of the correct type. | |
Public Attributes | |
function< Value(vector< arg_t > &, zcore::InterpCtx &ic)> | f |
shared_ptr< Invoke > | invoke |
shared_ptr< Function > | signature |
bool | evalEllipsis |
map< string, int > | argMap |
map< string, ArgInfo > | argInfo |
int | ellipsisPos |
Static Public Attributes | |
static const unsigned | MAXNAME = 128 |
Builtin function value. This type contains the necessary information to make a C++ call. A flag controls if the parameters are executed or if a VCode is returned instead for each parameter.
VBuiltinG::VBuiltinG | ( | interp::BaseFrame * | r, |
string | name, | ||
string | signature_s, | ||
function< Value(vector< arg_t > &, zcore::InterpCtx &)> | f_p, | ||
bool | evalEllipsis_p = true , |
||
map< string, ArgInfo > | argInfo_p = {} |
||
) |
name | environment in which this builtin is added |