namespace boost::openmethod {
template<class Class, class Policy = BOOST_OPENMETHOD_DEFAULT_REGISTRY>
-class with_vptr {
+class inplace_vptr {
protected:
- with_vptr();
- ~with_vptr();
+ inplace_vptr();
+ ~inplace_vptr();
friend auto boost_openmethod_vptr(const Class& obj) -> vptr_type;
};
template<class Class, class Base, class... MoreBases>
-class with_vptr {
+class inplace_vptr {
protected:
- with_vptr();
- ~with_vptr();
+ inplace_vptr();
+ ~inplace_vptr();
friend auto boost_openmethod_vptr(const Class& obj) -> vptr_type;
// if sizeof(MoreBases...) > 0
};
@@ -4845,11 +4845,11 @@ class with_vptr {
Description
-
with_vptr is a CRTP class template that embeds and manages a vptr across a
+
inplace_vptr is a CRTP class template that embeds and manages a vptr across a
class hierarchy.
-
If Class has no Bases, with_vptr adds a boost_openmethod_vptr private
+
If Class has no Bases, inplace_vptr adds a boost_openmethod_vptr private
member to Class. In either case, it sets the vptr to the v-table of Class
from Policy. It also creates a boost_openmethod_vptr friend function that
takes a a const Class& and returns the embedded vptr.
@@ -4861,7 +4861,7 @@ matter which one, as they all have the same value). This is to resolve
ambiguities
-
As part of its implementation, with_vptr may also declare one or two free
+
As part of its implementation, inplace_vptr may also declare one or two free
functions (boost_openmethod_policy and boost_openmethod_bases) at certain
levels of the hierarchy.
@@ -4872,7 +4872,7 @@ levels of the hierarchy.
constructor
-
with_vptr();
+
inplace_vptr();
@@ -4885,7 +4885,7 @@ preserving the validity of the pointer across calls to
initialize.<
destructor
-
~with_vptr();
+
~inplace_vptr();
@@ -5612,7 +5612,7 @@ the same.
Description
-
indirect_vptr is a facet that makes virtual_ptrs and with_vptr use
+
indirect_vptr is a facet that makes virtual_ptrs and inplace_vptr use
pointers to pointers to v-tables, instead of straight pointers. As a
consequence, they remain valid after a call to initialize.
@@ -6249,7 +6249,7 @@ the library uses a lightweight implementation based on the C stream functions.