boost::openmethod::use_classes :: Boost.OpenMethod

# boost::openmethod::use_classes

Add classes to a registry

## Synopsis

Declared in `<boost/openmethod/core.hpp>`

    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