Overview
The IMarshalTarget family provides the low-level target-side interface used by the marshalling library to write decomposed data back into a bound object after it has crossed the assembly boundary. The concrete helper class MarshalTarget derives from these interfaces and is what the public output marshal helpers normally create internally.
Like the source-side interface, the exact member set varies by specialization. The available methods are shaped by the type being marshalled and by the C++ language features available when the code is compiled.
Member Families
Marshalling methods
Target specializations provide methods that accept decomposed data and write it into the bound object. Depending on the type, this may include whole-object marshalling, individual element updates, appends, range writes, and move-enabled overloads.
Container metadata
STL container specializations provide size, capacity, empty, clear, and resize-style methods where those concepts are meaningful for the bound type.
Element access
Specializations for indexed types expose element-based setter methods so that a marshaller can update a single element in-place without rebuilding the entire container.
Usage
Application code normally does not create IMarshalTarget objects directly. The class exists to support the internals of the higher level marshal helpers, and the public target wrapper MarshalTarget should be preferred whenever direct use is required.