mirror of
https://github.com/boostorg/unordered.git
synced 2025-05-10 07:34:00 +00:00
Sync from upstream.
This commit is contained in:
commit
cdb31c8309
@ -41,23 +41,6 @@ namespace boost {
|
|||||||
typedef typename table::iterator iterator;
|
typedef typename table::iterator iterator;
|
||||||
typedef boost::unordered::insert_return_type_map<iterator, node_type> insert_return_type;
|
typedef boost::unordered::insert_return_type_map<iterator, node_type> insert_return_type;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename K, typename M, typename H, typename P, typename A>
|
|
||||||
class instantiate_map
|
|
||||||
{
|
|
||||||
typedef boost::unordered_map<K, M, H, P, A> container;
|
|
||||||
container x;
|
|
||||||
typename container::node_type node_type;
|
|
||||||
typename container::insert_return_type insert_return_type;
|
|
||||||
};
|
|
||||||
|
|
||||||
template <typename K, typename M, typename H, typename P, typename A>
|
|
||||||
class instantiate_multimap
|
|
||||||
{
|
|
||||||
typedef boost::unordered_multimap<K, M, H, P, A> container;
|
|
||||||
container x;
|
|
||||||
typename container::node_type node_type;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,23 +39,6 @@ namespace boost {
|
|||||||
typedef boost::unordered::insert_return_type_set<iterator, node_type>
|
typedef boost::unordered::insert_return_type_set<iterator, node_type>
|
||||||
insert_return_type;
|
insert_return_type;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename T, typename H, typename P, typename A>
|
|
||||||
class instantiate_set
|
|
||||||
{
|
|
||||||
typedef boost::unordered_set<T, H, P, A> container;
|
|
||||||
container x;
|
|
||||||
typename container::node_type node_type;
|
|
||||||
typename container::insert_return_type insert_return_type;
|
|
||||||
};
|
|
||||||
|
|
||||||
template <typename T, typename H, typename P, typename A>
|
|
||||||
class instantiate_multiset
|
|
||||||
{
|
|
||||||
typedef boost::unordered_multiset<T, H, P, A> container;
|
|
||||||
container x;
|
|
||||||
typename container::node_type node_type;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -52,23 +52,39 @@ template class instantiate_node_map<test::minimal::assignable const,
|
|||||||
test::minimal::allocator<int> >;
|
test::minimal::allocator<int> >;
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#define INSTANTIATE(type) \
|
|
||||||
template class boost::unordered::detail::instantiate_##type
|
|
||||||
|
|
||||||
INSTANTIATE(map)<int, int, boost::hash<int>, std::equal_to<int>,
|
template <typename K, typename M, typename H, typename P, typename A>
|
||||||
|
class instantiate_map
|
||||||
|
{
|
||||||
|
typedef boost::unordered_map<K, M, H, P, A> container;
|
||||||
|
container x;
|
||||||
|
typename container::node_type node_type;
|
||||||
|
typename container::insert_return_type insert_return_type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template <typename K, typename M, typename H, typename P, typename A>
|
||||||
|
class instantiate_multimap
|
||||||
|
{
|
||||||
|
typedef boost::unordered_multimap<K, M, H, P, A> container;
|
||||||
|
container x;
|
||||||
|
typename container::node_type node_type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template class instantiate_map<int, int, boost::hash<int>, std::equal_to<int>,
|
||||||
test::minimal::allocator<int> >;
|
test::minimal::allocator<int> >;
|
||||||
INSTANTIATE(multimap)<int const, int const, boost::hash<int>,
|
template class instantiate_multimap<int const, int const, boost::hash<int>,
|
||||||
std::equal_to<int>, test::minimal::allocator<int> >;
|
std::equal_to<int>, test::minimal::allocator<int> >;
|
||||||
|
|
||||||
INSTANTIATE(
|
template class instantiate_map<test::minimal::assignable const,
|
||||||
map)<test::minimal::assignable const, test::minimal::default_assignable const,
|
test::minimal::default_assignable const,
|
||||||
test::minimal::hash<test::minimal::assignable>,
|
test::minimal::hash<test::minimal::assignable>,
|
||||||
test::minimal::equal_to<test::minimal::assignable>,
|
test::minimal::equal_to<test::minimal::assignable>,
|
||||||
test::minimal::allocator<int> >;
|
test::minimal::allocator<int> >;
|
||||||
INSTANTIATE(multimap)<test::minimal::assignable, test::minimal::assignable,
|
template class instantiate_multimap<test::minimal::assignable,
|
||||||
test::minimal::hash<test::minimal::assignable>,
|
test::minimal::assignable, test::minimal::hash<test::minimal::assignable>,
|
||||||
test::minimal::equal_to<test::minimal::assignable>,
|
test::minimal::equal_to<test::minimal::assignable>,
|
||||||
test::minimal::allocator<int> >;
|
test::minimal::allocator<int> >;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
template <template <class Key, class T, class H = boost::hash<Key>,
|
template <template <class Key, class T, class H = boost::hash<Key>,
|
||||||
|
@ -52,19 +52,32 @@ template class instantiate_node_set<test::minimal::assignable const,
|
|||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#define INSTANTIATE(type) \
|
template <typename T, typename H, typename P, typename A> class instantiate_set
|
||||||
template class boost::unordered::detail::instantiate_##type
|
{
|
||||||
|
typedef boost::unordered_set<T, H, P, A> container;
|
||||||
|
container x;
|
||||||
|
typename container::node_type node_type;
|
||||||
|
typename container::insert_return_type insert_return_type;
|
||||||
|
};
|
||||||
|
|
||||||
INSTANTIATE(set)<int, boost::hash<int>, std::equal_to<int>,
|
template <typename T, typename H, typename P, typename A>
|
||||||
test::minimal::allocator<int> >;
|
class instantiate_multiset
|
||||||
INSTANTIATE(multiset)<int const, boost::hash<int>, std::equal_to<int>,
|
{
|
||||||
test::minimal::allocator<int> >;
|
typedef boost::unordered_multiset<T, H, P, A> container;
|
||||||
|
container x;
|
||||||
|
typename container::node_type node_type;
|
||||||
|
};
|
||||||
|
|
||||||
INSTANTIATE(set)<test::minimal::assignable const,
|
template class instantiate_set<int, boost::hash<int>, std::equal_to<int>,
|
||||||
|
test::minimal::allocator<int> >;
|
||||||
|
template class instantiate_multiset<int const, boost::hash<int>,
|
||||||
|
std::equal_to<int>, test::minimal::allocator<int> >;
|
||||||
|
|
||||||
|
template class instantiate_set<test::minimal::assignable const,
|
||||||
test::minimal::hash<test::minimal::assignable>,
|
test::minimal::hash<test::minimal::assignable>,
|
||||||
test::minimal::equal_to<test::minimal::assignable>,
|
test::minimal::equal_to<test::minimal::assignable>,
|
||||||
test::minimal::allocator<int> >;
|
test::minimal::allocator<int> >;
|
||||||
INSTANTIATE(multiset)<test::minimal::assignable,
|
template class instantiate_multiset<test::minimal::assignable,
|
||||||
test::minimal::hash<test::minimal::assignable>,
|
test::minimal::hash<test::minimal::assignable>,
|
||||||
test::minimal::equal_to<test::minimal::assignable>,
|
test::minimal::equal_to<test::minimal::assignable>,
|
||||||
test::minimal::allocator<int> >;
|
test::minimal::allocator<int> >;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user