boost::openmethod::policies :: Boost.OpenMethod

# boost::openmethod::policies

Namespace for policies.

## Description

Classes with snake case names are "blueprints", i.e. exposition‐only classes that describe the requirements for policies of a given category. Classes implementing these blueprints must provide a `fn<Registry>` metafunction that conforms to the blueprint's requirements.

## Types

Name | Description
`ErrorHandlerFn` | Blueprint for `error_handler` metafunctions (exposition only).
`InitializeClass` | Class information for initializing a policy (exposition only).
`InitializeContext` | Context for initializing a policy (exposition only).
`OutputFn` | Blueprint for `output` metafunctions (exposition only).
`RttiFn` | Blueprint for `rtti` metafunctions (exposition only).
`TypeHashFn` | Blueprint for `type_hash` metafunctions (exposition only).
`VptrFn` | Blueprint for `vptr` metafunctions (exposition only).
`default_error_handler` | Calls a std::function with the error.
`deferred_static_rtti` | Policy for deferred type id collection.
`error_handler` | Policy for error handling.
`fast_perfect_hash` | Hash type ids using a fast, perfect hash function.
`indirect_vptr` | Policy to add an indirection to pointers to v‐tables.
`output` | Policy for writing diagnostics and trace.
`rtti` | Policy for manipulating type information.
`runtime_checks` | Policy for post‐initialize runtime checks.
`static_rtti` | Minimal implementation of the `rtti` policy.
`std_rtti` | Implements the `rtti` policy using standard RTTI.
`stderr_output` | `Writes` to the C standard error stream.
`throw_error_handler` | Throws error as an exception.
`type_hash` | Policy for hashing type ids.
`vptr` | Policy for v‐table pointer acquisition.
`vptr_map` | Stores v‐table pointers in a map keyed by `type_id`s.
`vptr_vector` | Stores v‐table pointers in a vector.

## See Also

`registry` for a complete explanation of registries and policies.

Created with MrDocs