#define SIMIX_MARSHAL(T, field) \
inline void marshal(type<T>, u_smx_scalar& simcall, T value) { simcall.field = value; } \
inline T unmarshal(type<T>, u_smx_scalar const& simcall) { return simcall.field; } \
inline T unmarshal_raw(type<T>, u_smx_scalar const& simcall) \
{ /* Exactly same as unmarshal. It differs only for intrusive_ptr */ return simcall.field; }
#define SIMIX_MARSHAL(T, field) \
inline void marshal(type<T>, u_smx_scalar& simcall, T value) { simcall.field = value; } \
inline T unmarshal(type<T>, u_smx_scalar const& simcall) { return simcall.field; } \
inline T unmarshal_raw(type<T>, u_smx_scalar const& simcall) \
{ /* Exactly same as unmarshal. It differs only for intrusive_ptr */ return simcall.field; }