boost/001-unordered.patch
2012-10-04 15:08:26 +04:00

128 lines
3.5 KiB
Diff

Index: boost/unordered/detail/equivalent.hpp
===================================================================
--- boost/unordered/detail/equivalent.hpp (revision 79442)
+++ boost/unordered/detail/equivalent.hpp (revision 79443)
@@ -37,7 +37,7 @@
#if BOOST_UNORDERED_DETAIL_FULL_CONSTRUCT
template <BOOST_UNORDERED_EMPLACE_TEMPLATE>
- grouped_node(BOOST_UNORDERED_EMPLACE_ARGS) :
+ explicit grouped_node(BOOST_UNORDERED_EMPLACE_ARGS) :
node_base(),
group_prev_(),
hash_(0)
@@ -49,6 +49,10 @@
~grouped_node() {
boost::unordered::detail::destroy(this->value_ptr());
}
+
+ grouped_node(grouped_node const&) {
+ assert(false);
+ }
#else
grouped_node() :
node_base(),
@@ -61,6 +65,9 @@
{
group_prev_ = self;
}
+
+ private:
+ grouped_node& operator=(grouped_node const&);
};
template <typename T>
@@ -77,7 +84,7 @@
#if BOOST_UNORDERED_DETAIL_FULL_CONSTRUCT
template <BOOST_UNORDERED_EMPLACE_TEMPLATE>
- grouped_ptr_node(BOOST_UNORDERED_EMPLACE_ARGS) :
+ explicit grouped_ptr_node(BOOST_UNORDERED_EMPLACE_ARGS) :
bucket_base(),
group_prev_(0),
hash_(0)
@@ -89,6 +96,10 @@
~grouped_ptr_node() {
boost::unordered::detail::destroy(this->value_ptr());
}
+
+ grouped_ptr_node(grouped_ptr_node const&) {
+ assert(false);
+ }
#else
grouped_ptr_node() :
bucket_base(),
@@ -101,6 +112,9 @@
{
group_prev_ = self;
}
+
+ private:
+ grouped_ptr_node& operator=(grouped_ptr_node const&);
};
// If the allocator uses raw pointers use grouped_ptr_node
Index: boost/unordered/detail/unique.hpp
===================================================================
--- boost/unordered/detail/unique.hpp (revision 79442)
+++ boost/unordered/detail/unique.hpp (revision 79443)
@@ -38,7 +38,7 @@
#if BOOST_UNORDERED_DETAIL_FULL_CONSTRUCT
template <BOOST_UNORDERED_EMPLACE_TEMPLATE>
- unique_node(BOOST_UNORDERED_EMPLACE_ARGS) :
+ explicit unique_node(BOOST_UNORDERED_EMPLACE_ARGS) :
node_base(),
hash_(0)
{
@@ -49,6 +49,10 @@
~unique_node() {
boost::unordered::detail::destroy(this->value_ptr());
}
+
+ unique_node(unique_node const&) {
+ BOOST_ASSERT(false);
+ }
#else
unique_node() :
node_base(),
@@ -59,6 +63,9 @@
void init(link_pointer)
{
}
+
+ private:
+ unique_node& operator=(unique_node const&);
};
template <typename T>
@@ -74,7 +81,7 @@
#if BOOST_UNORDERED_DETAIL_FULL_CONSTRUCT
template <BOOST_UNORDERED_EMPLACE_TEMPLATE>
- ptr_node(BOOST_UNORDERED_EMPLACE_ARGS) :
+ explicit ptr_node(BOOST_UNORDERED_EMPLACE_ARGS) :
bucket_base(),
hash_(0)
{
@@ -85,6 +92,10 @@
~ptr_node() {
boost::unordered::detail::destroy(this->value_ptr());
}
+
+ ptr_node(ptr_node const&) {
+ BOOST_ASSERT(false);
+ }
#else
ptr_node() :
bucket_base(),
@@ -95,6 +106,9 @@
void init(link_pointer)
{
}
+
+ private:
+ ptr_node& operator=(ptr_node const&);
};
// If the allocator uses raw pointers use ptr_node