boost::openmethod::virtual_traits
Traits for types used as virtual parameters.
Synopsis
Declared in <boost/openmethod/core.hpp>
template<
typename T,
class Registry>
struct virtual_traits;
Description
virtual_traits must be specialized for each type that can be used as a virtual parameters. It enables methods to:
-
find the type of the object the argument refers to (e.g.
NodefromNode&) -
obtain a non‐modifiable reference to that object (e.g. a
const Node&fromNode&) -
cast the argument to another type (e.g. cast a
Node&to aPlus&)
Requirements
Specializations of virtual_traits must provide the members described to the VirtualTraits blueprint.
Specializations
Name |
Description |
|
Specialize virtual_traits for std::shared_ptr by value. |
|
Specialize virtual_traits for |
Specialize virtual_traits for pointer types. |
|
Specialize virtual_traits for lvalue reference types. |
|
|
Specialize virtual_traits for std::unique_ptr by value. |
|
Specialize virtual_traits for boost::intrusive_ptr. |
|
Specialize virtual_traits for const boost::intrusive_ptr&. |
|
Specialize virtual_traits for |
Specialize virtual_traits for xvalue reference types. |
|
|
Specialize virtual_traits for std::shared_ptr by reference. |