mirror of
https://github.com/boostorg/unordered.git
synced 2025-05-12 14:01:43 +00:00
Test that construct/destroy aren't used when C++11 isn't available
This commit is contained in:
parent
7a0a598649
commit
ef05493c83
@ -397,13 +397,6 @@ template <class T> class allocator1
|
|||||||
detail::tracker.track_construct((void*)p, sizeof(U), tag_);
|
detail::tracker.track_construct((void*)p, sizeof(U), tag_);
|
||||||
new (p) U(boost::forward<Args>(args)...);
|
new (p) U(boost::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
void construct(T* p, T const& t)
|
|
||||||
{
|
|
||||||
detail::tracker.track_construct((void*)p, sizeof(T), tag_);
|
|
||||||
new (p) T(t);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
template <typename U> void destroy(U* p)
|
template <typename U> void destroy(U* p)
|
||||||
{
|
{
|
||||||
@ -413,6 +406,22 @@ template <class T> class allocator1
|
|||||||
// Work around MSVC buggy unused parameter warning.
|
// Work around MSVC buggy unused parameter warning.
|
||||||
ignore_variable(&p);
|
ignore_variable(&p);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
private:
|
||||||
|
// I'm going to claim in the documentation that construct/destroy
|
||||||
|
// is never used when C++11 support isn't available, so might as
|
||||||
|
// well check that in the text.
|
||||||
|
// TODO: Or maybe just disallow them for values?
|
||||||
|
template <typename U> void construct(U* p);
|
||||||
|
template <typename U, typename A0> void construct(U* p, A0 const&);
|
||||||
|
template <typename U, typename A0, typename A1>
|
||||||
|
void construct(U* p, A0 const&, A1 const&);
|
||||||
|
template <typename U, typename A0, typename A1, typename A2>
|
||||||
|
void construct(U* p, A0 const&, A1 const&, A2 const&);
|
||||||
|
template <typename U> void destroy(U* p);
|
||||||
|
|
||||||
|
public:
|
||||||
|
#endif
|
||||||
|
|
||||||
bool operator==(allocator1 const& x) const { return tag_ == x.tag_; }
|
bool operator==(allocator1 const& x) const { return tag_ == x.tag_; }
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user