Description

Constructs the Marshal::In 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:

In(const ContainerType& source)
In(const InOut<ContainerType>& source)

All types:

In(const Ret<ContainerType>& source)
In(ContainerType&& source)

With std::basic_string only:

In(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::InOut and Marshal::Ret 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 types based on std::basic_string, such as std::string and std::wstring are marshalled, the bound source can also be a pointer to a null terminated string, allowing string literals to be provided directly as literal input arguments where marshalling is being performed.

See also