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;