boost::openmethod::virtual_traits<std::shared_ptr<Class> const&, Registry>
Specialize virtual_traits for std::shared_ptr by reference.
Synopsis
Declared in <boost/openmethod/interop/std_shared_ptr.hpp>
template<
class Class,
class Registry>
struct virtual_traits<std::shared_ptr<Class> const&, Registry>;
Example
struct Animal {
virtual ~Animal() = default;
};
struct Dog : Animal {};
struct Cat : Animal {};
BOOST_OPENMETHOD_CLASSES(Animal, Dog, Cat);
BOOST_OPENMETHOD(poke, (virtual_<const std::shared_ptr<Animal>&>), std::string);
BOOST_OPENMETHOD_OVERRIDE(
poke, (const std::shared_ptr<Dog>& animal), std::string) {
return "bark";
}
BOOST_OPENMETHOD_OVERRIDE(
poke, (const std::shared_ptr<Cat>& animal), std::string) {
return "hiss";
}
|
Passing a |
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