Declaration

class IMarshallingObject
{
protected:
    inline ~IMarshallingObject()
    { }
};

Description

The IMarshallingObject type is an empty marker base class used for compatibility with compilers that do not provide the C++11 type traits required to detect marshalling constructors automatically. It is only needed on older configurations, and is generally unnecessary when C++11 support is available.

The protected destructor prevents deletion through the base type, and mirrors the pattern used elsewhere in the marshalling library for small helper types that are intended only to participate in compile-time detection.

Usage

When targeting a compiler without the type-trait support used by the marshalling library, derive your marshallable types from IMarshallingObject so the library can identify them as participating in marshalling.

See also