Skip to content

Commit ec21cea

Browse files
committed
move use_classes for with_vptr to detail
1 parent c679bf0 commit ec21cea

2 files changed

Lines changed: 7 additions & 9 deletions

File tree

include/boost/openmethod/core.hpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -288,12 +288,8 @@ struct use_classes {
288288
detail::inheritance_map,
289289
typename detail::extract_policy<Classes...>::others>>>;
290290
tuple_type tuple;
291-
static use_classes instance;
292291
};
293292

294-
template<class... Classes>
295-
use_classes<Classes...> use_classes<Classes...>::instance;
296-
297293
// =============================================================================
298294
// virtual_ptr
299295

include/boost/openmethod/with_vptr.hpp

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ class with_vptr_aux;
5656
#pragma GCC diagnostic ignored "-Wnon-template-friend"
5757
#endif
5858

59+
template<class... Classes>
60+
inline use_classes<Classes...> with_vptr_use_classes;
61+
5962
template<class Class, class Policy>
6063
class with_vptr_aux<Class, Policy, true> {
6164
protected:
@@ -65,7 +68,7 @@ class with_vptr_aux<Class, Policy, true> {
6568
friend auto boost_openmethod_bases(Class*) -> mp11::mp_list<>;
6669

6770
with_vptr_aux() {
68-
(void)&use_classes<Class, Policy>::instance;
71+
(void)&with_vptr_use_classes<Class, Policy>;
6972
detail::update_vptr<Class>(static_cast<Class*>(this));
7073
}
7174

@@ -95,7 +98,7 @@ class with_vptr_aux<Class, Base, false> : with_vptr_derived {
9598
friend void update_vptr(Class*);
9699

97100
with_vptr_aux() {
98-
(void)&use_classes<Class, Base, with_vptr_policy<Class>>::instance;
101+
(void)&with_vptr_use_classes<Class, Base, with_vptr_policy<Class>>;
99102
detail::update_vptr<Class>(static_cast<Class*>(this));
100103
}
101104

@@ -130,9 +133,8 @@ class with_vptr<Class, Base1, Base2, MoreBases...> : detail::with_vptr_derived {
130133

131134
protected:
132135
with_vptr() {
133-
(void)&use_classes<
134-
Class, Base1, Base2, MoreBases...,
135-
detail::with_vptr_policy<Base1>>::instance;
136+
(void)&detail::with_vptr_use_classes<
137+
Class, Base1, Base2, MoreBases..., detail::with_vptr_policy<Base1>>;
136138
detail::update_vptr<Class>(static_cast<Class*>(this));
137139
}
138140

0 commit comments

Comments
 (0)