boost::openmethod::virtual_traits<std::shared_ptr<Class>, Registry>
Specialize virtual_traits for std::shared_ptr by value.
Synopsis
Declared in <boost/openmethod/interop/std_shared_ptr.hpp>
template<
typename Class,
class Registry>
struct virtual_traits<std::shared_ptr<Class>, Registry>;
Example
struct Animal {
virtual ~Animal() = default;
};
struct Dog : Animal {};
struct Cat : Animal {};
BOOST_OPENMETHOD_CLASSES(Animal, Dog, Cat);
BOOST_OPENMETHOD(poke, (virtual_<std::shared_ptr<Animal>>), std::string);
BOOST_OPENMETHOD_OVERRIDE(poke, (std::shared_ptr<Dog> animal), std::string) {
return "bark";
}
BOOST_OPENMETHOD_OVERRIDE(poke, (std::shared_ptr<Cat> animal), std::string) {
return "hiss";
}
Type Aliases
Name |
Description |
Rebind to a different element type. |
|
|
Template Parameters
Name |
Description |
Class |
A class type, possibly cv‐qualified. |
Registry |
A |
See Also
Created with MrDocs