boost::openmethod::missing_class

Missing class.

Synopsis

struct missing_class
    : openmethod_error

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.

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;

Created with MrDocs