-template<class A, class B, class C, class D, class E, class F> inline
-void marshal(smx_simcall_t simcall, e_smx_simcall_t call,
- A&& a, B&& b, C&& c, D&& d, E&& e, F&& f)
-{
- simcall->call = call;
- memset(&simcall->result, 0, sizeof(simcall->result));
- marshal(simcall->args[0], std::forward<A>(a));
- marshal(simcall->args[1], std::forward<B>(b));
- marshal(simcall->args[2], std::forward<C>(c));
- marshal(simcall->args[3], std::forward<D>(d));
- marshal(simcall->args[4], std::forward<E>(e));
- marshal(simcall->args[5], std::forward<F>(f));
-}