forked from boostorg/unordered
Fix in an error in the unordered containers' emulated move constructors. These
aren't actually used, so I could probalby just remove 'move_from' for now (it's used in the full move library). [SVN r46410]
This commit is contained in:
@ -122,7 +122,7 @@ namespace boost
|
|||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
unordered_map(boost::unordered_detail::move_from<unordered_map<Key, T, Hash, Pred, Alloc> > other)
|
unordered_map(boost::unordered_detail::move_from<unordered_map<Key, T, Hash, Pred, Alloc> > other)
|
||||||
: base(other.base, boost::unordered_detail::move_tag())
|
: base(other.source.base, boost::unordered_detail::move_tag())
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -507,7 +507,7 @@ namespace boost
|
|||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
unordered_multimap(boost::unordered_detail::move_from<unordered_multimap<Key, T, Hash, Pred, Alloc> > other)
|
unordered_multimap(boost::unordered_detail::move_from<unordered_multimap<Key, T, Hash, Pred, Alloc> > other)
|
||||||
: base(other.base, boost::unordered_detail::move_tag())
|
: base(other.source.base, boost::unordered_detail::move_tag())
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -119,7 +119,7 @@ namespace boost
|
|||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
unordered_set(boost::unordered_detail::move_from<unordered_set<Value, Hash, Pred, Alloc> > other)
|
unordered_set(boost::unordered_detail::move_from<unordered_set<Value, Hash, Pred, Alloc> > other)
|
||||||
: base(other.base, boost::unordered_detail::move_tag())
|
: base(other.source.base, boost::unordered_detail::move_tag())
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -476,7 +476,7 @@ namespace boost
|
|||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
unordered_multiset(boost::unordered_detail::move_from<unordered_multiset<Value, Hash, Pred, Alloc> > other)
|
unordered_multiset(boost::unordered_detail::move_from<unordered_multiset<Value, Hash, Pred, Alloc> > other)
|
||||||
: base(other.base, boost::unordered_detail::move_tag())
|
: base(other.source.base, boost::unordered_detail::move_tag())
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,6 +13,21 @@
|
|||||||
#include "../objects/minimal.hpp"
|
#include "../objects/minimal.hpp"
|
||||||
#include "./compile_tests.hpp"
|
#include "./compile_tests.hpp"
|
||||||
|
|
||||||
|
// Explicit instantiation to catch compile-time errors
|
||||||
|
|
||||||
|
template class boost::unordered_map<
|
||||||
|
test::minimal::assignable,
|
||||||
|
test::minimal::default_copy_constructible,
|
||||||
|
test::minimal::hash<test::minimal::assignable>,
|
||||||
|
test::minimal::equal_to<test::minimal::assignable>,
|
||||||
|
test::minimal::allocator<test::minimal::assignable> >;
|
||||||
|
template class boost::unordered_multimap<
|
||||||
|
test::minimal::assignable,
|
||||||
|
test::minimal::copy_constructible,
|
||||||
|
test::minimal::hash<test::minimal::assignable>,
|
||||||
|
test::minimal::equal_to<test::minimal::assignable>,
|
||||||
|
test::minimal::allocator<test::minimal::assignable> >;
|
||||||
|
|
||||||
UNORDERED_AUTO_TEST(test0)
|
UNORDERED_AUTO_TEST(test0)
|
||||||
{
|
{
|
||||||
typedef std::pair<test::minimal::assignable const,
|
typedef std::pair<test::minimal::assignable const,
|
||||||
|
@ -13,6 +13,19 @@
|
|||||||
#include "../objects/minimal.hpp"
|
#include "../objects/minimal.hpp"
|
||||||
#include "./compile_tests.hpp"
|
#include "./compile_tests.hpp"
|
||||||
|
|
||||||
|
// Explicit instantiation to catch compile-time errors
|
||||||
|
|
||||||
|
template class boost::unordered_set<
|
||||||
|
test::minimal::assignable,
|
||||||
|
test::minimal::hash<test::minimal::assignable>,
|
||||||
|
test::minimal::equal_to<test::minimal::assignable>,
|
||||||
|
test::minimal::allocator<test::minimal::assignable> >;
|
||||||
|
template class boost::unordered_multiset<
|
||||||
|
test::minimal::assignable,
|
||||||
|
test::minimal::hash<test::minimal::assignable>,
|
||||||
|
test::minimal::equal_to<test::minimal::assignable>,
|
||||||
|
test::minimal::allocator<test::minimal::assignable> >;
|
||||||
|
|
||||||
UNORDERED_AUTO_TEST(test0)
|
UNORDERED_AUTO_TEST(test0)
|
||||||
{
|
{
|
||||||
test::minimal::assignable assignable = test::minimal::assignable::create();
|
test::minimal::assignable assignable = test::minimal::assignable::create();
|
||||||
|
Reference in New Issue
Block a user