boost::openmethod::missing_class :: Boost.OpenMethod

# boost::openmethod::missing_class

Missing class.

## Synopsis

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

    struct missing_class
        : openmethod_error

## Description

A class used as a virtual parameter in a method, an overrider or a method call was not registered.

## Examples

Missing registration of a class used as a virtual parameter in a method:

    struct Animal { virtual ~Animal() {} };
    struct Dog : Animal {};

    BOOST_OPENMETHOD_CLASSES(Animal);

    BOOST_OPENMETHOD(poke, (virtual_ptr<Animal>), void);

    initialize(); // throws missing_class;

Missing registration of a class used as a virtual parameter in an overrider:

    BOOST_OPENMETHOD_CLASSES(Animal);

    BOOST_OPENMETHOD(poke, (virtual_ptr<Animal>), void);

    BOOST_OPENMETHOD_OVERRIDE(poke, (virtual_ptr<Dog>), void) { /* ... */ }

    initialize(); // throws missing_class;

Missing registration of a class used as a virtual parameter in a call:

    struct Bulldog : Dog {};

    BOOST_OPENMETHOD_CLASSES(Animal, Dog);

    BOOST_OPENMETHOD(poke, (virtual_ptr<Animal>), void);

    BOOST_OPENMETHOD_OVERRIDE(poke, (virtual_ptr<Dog>), void) { /* ... */ }

    Bulldog hector;
    poke(hector); // throws missing_class;

## Base Classes

Name | Description
--- | ---
`openmethod_error` | Base class for all OpenMethod errors.

## Member Functions

Name | Description
`write` | Write a short description to an output stream

## Data Members

Name | Description
`type` | The type_id of the unknown class.

Created with MrDocs