Macros

The following macros - in particular the first three - are sufficient for most uses of the library.

Name

Description.

BOOST_OPENMETHOD

Declares a method.

BOOST_OPENMETHOD_OVERRIDE

Adds an overrider to a method.

BOOST_OPENMETHOD_CLASSES

Registers classes.

BOOST_OPENMETHOD_INLINE_OVERRIDE

Adds an overrider to a method as an inline function.

BOOST_OPENMETHOD_DECLARE_OVERRIDER

Declares a method overrider.

BOOST_OPENMETHOD_DEFINE_OVERRIDER

Defines the body of a method overrider.

BOOST_OPENMETHOD_ENABLE_RUNTIME_CHECKS

Enables runtime checks in method calls.

The following macros are for advanced uses of the library.

Name

Description.

BOOST_OPENMETHOD_DEFAULT_REGISTRY

Default registry.

BOOST_OPENMETHOD_OVERRIDER

Returns the class template specialization containing an overrider.

BOOST_OPENMETHOD_OVERRIDERS

Returns the class template containing the overriders for all the methods with a given name.

BOOST_OPENMETHOD_ID

Generates a method id.

BOOST_OPENMETHOD_TYPE

Expands to core method specialization.

BOOST_OPENMETHOD_REGISTER

Creates a registrar object.

BOOST_OPENMETHOD_IMPORT_REGISTRY

Imports a registry’s state from the module that owns it.

BOOST_OPENMETHOD_EXPORT_REGISTRY

Declares a registry’s state exported, in every translation unit of the owning module.

BOOST_OPENMETHOD_INSTANTIATE_REGISTRY

Instantiates a registry’s state, in exactly one translation unit of the owning module.