@@ -610,7 +610,7 @@ <h1>Boost.OpenMethod</h1>
610610< li > < a href ="#virtual_ptr_description_4 "> Description</ a > </ li >
611611</ ul >
612612</ li >
613- < li > < a href ="#virtual_ptr_with_vptr " > with_vptr </ a >
613+ < li > < a href ="#virtual_ptr_inplace_vptr " > inplace_vptr </ a >
614614< ul class ="sectlevel3 ">
615615< li > < a href ="#virtual_ptr_synopsis_5 "> Synopsis</ a > </ li >
616616< li > < a href ="#virtual_ptr_description_5 "> Description</ a > </ li >
@@ -1961,17 +1961,17 @@ <h3 id="tutorials_alternatives_to_virtual_ptr">Alternatives to virtual_ptr</h3>
19611961</ table >
19621962</ div >
19631963< div class ="paragraph ">
1964- < p > The < code > with_vptr </ code > CRTP class automates the creation and management of embedded
1964+ < p > The < code > inplace_vptr </ code > CRTP class automates the creation and management of embedded
19651965vptrs.</ p >
19661966</ div >
19671967< div class ="listingblock ">
19681968< div class ="content ">
1969- < pre class ="rouge highlight "> < code data-lang ="c++ "> #include <boost/openmethod/with_vptr .hpp>
1969+ < pre class ="rouge highlight "> < code data-lang ="c++ "> #include <boost/openmethod/inplace_vptr .hpp>
19701970
1971- class Animal : public boost::openmethod::with_vptr <Animal> {
1971+ class Animal : public boost::openmethod::inplace_vptr <Animal> {
19721972};
19731973
1974- class Cat : public Animal, public boost::openmethod::with_vptr <Cat, Animal> {
1974+ class Cat : public Animal, public boost::openmethod::inplace_vptr <Cat, Animal> {
19751975};
19761976
19771977BOOST_OPENMETHOD(poke, (std::ostream&, virtual_<Animal&>), void);
@@ -1989,11 +1989,11 @@ <h3 id="tutorials_alternatives_to_virtual_ptr">Alternatives to virtual_ptr</h3>
19891989</ div >
19901990</ div >
19911991< div class ="paragraph ">
1992- < p > If < code > with_vptr </ code > is passed only the class being defined, it adds a vptr to it, and
1992+ < p > If < code > inplace_vptr </ code > is passed only the class being defined, it adds a vptr to it, and
19931993defines a < code > boost_openmethod_vptr</ code > friend function. If more classes are passed,
19941994they must be the direct bases of the class potentially involved in open-method
19951995calls. Its constructor and destructor set the vptr to point to the v-table for
1996- the class. < code > with_vptr </ code > also takes care of registering the classes, so this time
1996+ the class. < code > inplace_vptr </ code > also takes care of registering the classes, so this time
19971997the call to < code > BOOST_OPENMETHOD_CLASSES</ code > is not needed.</ p >
19981998</ div >
19991999</ div >
@@ -2787,7 +2787,7 @@ <h3 id="tutorials_dynamic_loading">Dynamic Loading</h3>
27872787< div class ="paragraph ">
27882788< p > This leads to a problem: any < code > virtual_ptr</ code > in existence before < code > initialize</ code > is
27892789called again becomes invalid. This also applies to vptrs that are stored inside
2790- objects by < code > with_vptr </ code > .</ p >
2790+ objects by < code > inplace_vptr </ code > .</ p >
27912791</ div >
27922792< div class ="admonitionblock note ">
27932793< table >
@@ -3131,7 +3131,7 @@ <h5 id="ref_boostopenmethodunique_hpp"><boost/openmethod/unique_.hpp></h5>
31313131</ div >
31323132</ div >
31333133< div class ="sect4 ">
3134- < h5 id ="ref_boostopenmethodwith_vptr_hpp "> <boost/openmethod/with_vptr .hpp></ h5 >
3134+ < h5 id ="ref_boostopenmethodinplace_vptr_hpp "> <boost/openmethod/inplace_vptr .hpp></ h5 >
31353135< div class ="paragraph ">
31363136< p > Provides support for storing v-table pointers directly in objects, in the same
31373137manner as native virtual functions.</ p >
@@ -4811,29 +4811,29 @@ <h4 id="virtual_ptr_description_4">Description</h4>
48114811</ div >
48124812</ div >
48134813< div class ="sect2 ">
4814- < h3 id ="virtual_ptr_with_vptr " > with_vptr </ h3 >
4814+ < h3 id ="virtual_ptr_inplace_vptr " > inplace_vptr </ h3 >
48154815< div class ="sect3 ">
48164816< h4 id ="virtual_ptr_synopsis_5 "> Synopsis</ h4 >
48174817< div class ="paragraph ">
4818- < p > Defined in <boost/openmethod/with_vptr .hpp>.</ p >
4818+ < p > Defined in <boost/openmethod/inplace_vptr .hpp>.</ p >
48194819</ div >
48204820< div class ="listingblock ">
48214821< div class ="content ">
48224822< pre class ="rouge highlight "> < code data-lang ="c++ "> namespace boost::openmethod {
48234823
48244824template<class Class, class Policy = BOOST_OPENMETHOD_DEFAULT_REGISTRY>
4825- class with_vptr {
4825+ class inplace_vptr {
48264826 protected:
4827- with_vptr ();
4828- ~with_vptr ();
4827+ inplace_vptr ();
4828+ ~inplace_vptr ();
48294829 friend auto boost_openmethod_vptr(const Class& obj) -> vptr_type;
48304830};
48314831
48324832template<class Class, class Base, class... MoreBases>
4833- class with_vptr {
4833+ class inplace_vptr {
48344834 protected:
4835- with_vptr ();
4836- ~with_vptr ();
4835+ inplace_vptr ();
4836+ ~inplace_vptr ();
48374837 friend auto boost_openmethod_vptr(const Class& obj) -> vptr_type;
48384838 // if sizeof(MoreBases...) > 0
48394839};
@@ -4845,11 +4845,11 @@ <h4 id="virtual_ptr_synopsis_5">Synopsis</h4>
48454845< div class ="sect3 ">
48464846< h4 id ="virtual_ptr_description_5 "> Description</ h4 >
48474847< div class ="paragraph ">
4848- < p > < code > with_vptr </ code > is a CRTP class template that embeds and manages a vptr across a
4848+ < p > < code > inplace_vptr </ code > is a CRTP class template that embeds and manages a vptr across a
48494849class hierarchy.</ p >
48504850</ div >
48514851< div class ="paragraph ">
4852- < p > If < code > Class</ code > has no < code > Bases</ code > , < code > with_vptr </ code > adds a < code > boost_openmethod_vptr</ code > private
4852+ < p > If < code > Class</ code > has no < code > Bases</ code > , < code > inplace_vptr </ code > adds a < code > boost_openmethod_vptr</ code > private
48534853member to < code > Class</ code > . In either case, it sets the vptr to the v-table of < code > Class</ code >
48544854from < code > Policy</ code > . It also creates a < code > boost_openmethod_vptr</ code > friend function that
48554855takes a a < code > const Class&</ code > and returns the embedded vptr.</ p >
@@ -4861,7 +4861,7 @@ <h4 id="virtual_ptr_description_5">Description</h4>
48614861ambiguities</ p >
48624862</ div >
48634863< div class ="paragraph ">
4864- < p > As part of its implementation, < code > with_vptr </ code > may also declare one or two free
4864+ < p > As part of its implementation, < code > inplace_vptr </ code > may also declare one or two free
48654865functions (< code > boost_openmethod_policy</ code > and < code > boost_openmethod_bases</ code > ) at certain
48664866levels of the hierarchy.</ p >
48674867</ div >
@@ -4872,7 +4872,7 @@ <h4 id="virtual_ptr_members_4">Members</h4>
48724872< h5 id ="virtual_ptr_constructor_2 "> constructor</ h5 >
48734873< div class ="listingblock ">
48744874< div class ="content ">
4875- < pre class ="rouge highlight "> < code data-lang ="c++ "> with_vptr ();</ code > </ pre >
4875+ < pre class ="rouge highlight "> < code data-lang ="c++ "> inplace_vptr ();</ code > </ pre >
48764876</ div >
48774877</ div >
48784878< div class ="paragraph ">
@@ -4885,7 +4885,7 @@ <h5 id="virtual_ptr_constructor_2">constructor</h5>
48854885< h5 id ="virtual_ptr_destructor_2 "> destructor</ h5 >
48864886< div class ="listingblock ">
48874887< div class ="content ">
4888- < pre class ="rouge highlight "> < code data-lang ="c++ "> ~with_vptr ();</ code > </ pre >
4888+ < pre class ="rouge highlight "> < code data-lang ="c++ "> ~inplace_vptr ();</ code > </ pre >
48894889</ div >
48904890</ div >
48914891< div class ="paragraph ">
@@ -5612,7 +5612,7 @@ <h4 id="virtual_ptr_synopsis_15">Synopsis</h4>
56125612< div class ="sect3 ">
56135613< h4 id ="virtual_ptr_description_15 "> Description</ h4 >
56145614< div class ="paragraph ">
5615- < p > < code > indirect_vptr</ code > is a facet that makes < code > virtual_ptr</ code > s and < code > with_vptr </ code > use
5615+ < p > < code > indirect_vptr</ code > is a facet that makes < code > virtual_ptr</ code > s and < code > inplace_vptr </ code > use
56165616pointers to pointers to v-tables, instead of straight pointers. As a
56175617consequence, they remain valid after a call to < code > initialize</ code > .</ p >
56185618</ div >
@@ -6249,7 +6249,7 @@ <h4 id="virtual_ptr_description_25">Description</h4>
62496249</ div >
62506250< div id ="footer ">
62516251< div id ="footer-text ">
6252- Last updated 2025-03-08 15:24:21 -0500
6252+ Last updated 2025-06-22 13:38:14 -0400
62536253</ div >
62546254</ div >
62556255</ body >
0 commit comments