Support incomplete template parameters to unordered containers.

[SVN r57798]
This commit is contained in:
Daniel James
2009-11-20 08:03:26 +00:00
parent 26c72f9860
commit df72c4886f
10 changed files with 458 additions and 354 deletions

View File

@@ -58,9 +58,11 @@ namespace boost
allocator_type, value_type>::type
value_allocator;
typedef boost::unordered_detail::hash_unique_table<Hash, Pred,
value_allocator, boost::unordered_detail::set_extractor> table;
typedef BOOST_DEDUCED_TYPENAME table::iterator_base iterator_base;
typedef boost::unordered_detail::set<Hash, Pred,
value_allocator> types;
typedef BOOST_DEDUCED_TYPENAME types::impl table;
typedef BOOST_DEDUCED_TYPENAME types::iterator_base iterator_base;
public:
@@ -91,7 +93,7 @@ namespace boost
table table_;
BOOST_DEDUCED_TYPENAME table::iterator_base const&
BOOST_DEDUCED_TYPENAME types::iterator_base const&
get(const_iterator const& it)
{
return boost::unordered_detail::iterator_access::get(it);
@@ -518,14 +520,17 @@ namespace boost
#if !BOOST_WORKAROUND(__BORLANDC__, < 0x0582)
private:
#endif
typedef BOOST_DEDUCED_TYPENAME
boost::unordered_detail::rebind_wrap<
allocator_type, value_type>::type
value_allocator;
typedef boost::unordered_detail::hash_equivalent_table<Hash, Pred,
value_allocator, boost::unordered_detail::set_extractor> table;
typedef BOOST_DEDUCED_TYPENAME table::iterator_base iterator_base;
typedef boost::unordered_detail::multiset<Hash, Pred,
value_allocator> types;
typedef BOOST_DEDUCED_TYPENAME types::impl table;
typedef BOOST_DEDUCED_TYPENAME types::iterator_base iterator_base;
public:
@@ -556,7 +561,7 @@ namespace boost
table table_;
BOOST_DEDUCED_TYPENAME table::iterator_base const&
BOOST_DEDUCED_TYPENAME types::iterator_base const&
get(const_iterator const& it)
{
return boost::unordered_detail::iterator_access::get(it);