Description
Constructs the Marshal::Ret helper object. Different template specializations provide different overloads for this method, however the differences and applicability of each overload are detailed in the usage section below. Note that this class is not intended to be explicitly constructed in code, rather, it is expected that objects of this type will be generated automatically by the compiler through implicit conversions from the source object.
Usage
Copyable types only:
Ret(const ContainerType& source)
Ret(const InOut<ContainerType>& source)
Ret(const Ret<ContainerType>& source)All types:
Ret(ContainerType&& source)
Ret(const In<ContainerType>& source)
Ret(Ret<ContainerType>&& source)With std::basic_string only:
Ret(const ElementType* source)Argument list
- source
- The source object to bind to the marshaller. This is usually a reference to the source object being marshalled, however Marshal::In and Marshal::InOut helpers can also act as the source, in which case the source object will be marshalled directly through these marshal helpers when requested. Note also that when the type being marshalled is based on std::basic_string, such as std::string and std::wstring, the bound source can also be a pointer to a null terminated string, allowing string literals to be provided directly as literal return values where marshalling is being performed.