boost::openmethod::virtual_ptr<Class, Registry>
Reject wrapping a virtual_any in a virtual_ptr.
Synopsis
Declared in <boost/openmethod/interop/virtual_any.hpp>
template<
class Class,
class Registry>
requires IsVirtualAny<std::remove_cv_t<Class>>
class virtual_ptr<Class, Registry>;
Description
A virtual_any is already a wide type: it carries the v‐table pointer for the value it contains. Wrapping it in a virtual_ptr would produce a wide pointer whose v‐table is the contained value's, but whose static type is the virtual_any ‐ which is deliberately not a registered class. This specialization rejects the combination at compile time, which also covers final_virtual_ptr, since that instantiates the virtual_ptr it returns.
Template Parameters
Name |
Description |
Class |
A specialization of |
Registry |
A |
Created with MrDocs