Remove BOOST_FWD_REF

This commit is contained in:
Christian Mazakas
2023-09-27 11:44:44 -07:00
parent 4cd1827104
commit 866ab46385
8 changed files with 61 additions and 342 deletions
+2 -10
View File
@@ -87,15 +87,11 @@ public:
::operator delete((void*)p.operator->());
}
#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
template <class U, class V> void construct(U* p, V const& v) { new (p) U(v); }
#else
template <class U, class... Args>
void construct(U* p, BOOST_FWD_REF(Args)... args)
void construct(U* p, Args&&... args)
{
new (p) U(std::forward<Args>(args)...);
}
#endif
// msvc-12.0 and msvc-14.0 seem to eliminate the destructor call as we're only
// ever using it with an int with has a trivial destructor so it eliminates
@@ -171,15 +167,11 @@ public:
void deallocate(pointer p, size_type) { ::operator delete((void*)p.ptr_); }
#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
template <class U, class V> void construct(U* p, V const& v) { new (p) U(v); }
#else
template <class U, class... Args>
void construct(U* p, BOOST_FWD_REF(Args)... args)
void construct(U* p, Args&&... args)
{
new (p) U(std::forward<Args>(args)...);
}
#endif
// msvc-12.0 and msvc-14.0 seem to eliminate the destructor call as we're only
// ever using it with an int with has a trivial destructor so it eliminates