17 class FunctionArgsList :
public std::vector<std::shared_ptr<VarBase>>
24 FunctionArgsList(
const FunctionArgsList& args)
25 : std::vector<std::shared_ptr<VarBase>>(args.size())
28 for(
const auto& arg : args)
29 (*
this)[i++] = arg->arg_copy();
32 FunctionArgsList(
const std::vector<std::reference_wrapper<VarBase>>& args)
34 for(
const auto& arg : args)
35 push_back(arg.get().arg_copy());
38 FunctionArgsList(std::initializer_list<std::reference_wrapper<VarBase>> args)
40 for(
const auto& arg : args)
41 push_back(arg.get().arg_copy());
44 Index total_size()
const
47 for(
const auto& ai : *
this)