PtrMapOrSetFns

Used in a ReflectedModelField for xmap/xset fields.

A $interface is implemented in terms of a member FnTable which is a vtable of function pointers.

A PtrMapOrSetFns represents a pointer to the vtable either for interface IXMap or IXSet.


// Collects together a set of function pointers that allow clients of the reflection
// system to make use of a given xmap<Key,Value>
typedef IXMap::FnTable XMapFns;

// Collects together a set of function pointers that allow clients of the reflection
// system to make use of a given xset<Key>
typedef IXSet::FnTable XSetFns;

union PtrMapOrSetFns
{
    const XMapFns* mapFns;
    const XSetFns* setFns;
};