boost::openmethod::use_classes

Add classes to a registry

Synopsis

template<class... Classes>
class use_classes;

Description

use_classes is a registrar class that adds one or more classes to a registry.

Classes potentially involved in a method definition, an overrider, or a method call must be registered via use_classes. A class may be registered multiple times. A class and its direct bases must be listed together in one or more instantiations of use_classes.

If a class is identified by different type ids in different translation units, it must be registered in as many translation units as necessary for use_classes to register all the type ids. This situation can occur when using standard RTTI, because the address of the type_info objects are used as type ids, and the standard does not guarantee that there is exactly one such object per class. The only such case known to the author is when using Windows DLLs.

Virtual and multiple inheritance are supported, with the exclusion of repeated inheritance.

Created with MrDocs