- for(Statement::Arguments::const_iterator i=st.args.begin(); i!=st.args.end(); ++i)
- values.push_back(i->get<A0>());
+ for(const Value &a: st.args)
+ values.push_back(a.get<A0>());
+ (dynamic_cast<L &>(l).*func)(values);
+ }
+
+ virtual void execute(Loader &l, const ArgumentStore &as) const
+ {
+ std::vector<A0> values;
+ unsigned n_args = as.get_info().key.signature.size();
+ values.reserve(n_args);
+ for(unsigned i=0; i<n_args; ++i)
+ values.push_back(as.get<A0>(i));