summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/include/tr1/unordered_map
diff options
context:
space:
mode:
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2006-07-28 04:57:34 +0000
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2006-07-28 04:57:34 +0000
commite7206175a0c8d920040676e96ec750fa6493abf7 (patch)
tree81547eb1eadbf4669dec412581227155f1ad5c83 /libstdc++-v3/include/tr1/unordered_map
parentc5f4a9c4f7cbfabf470fdee2cc69e2371558bc1c (diff)
downloadppe42-gcc-e7206175a0c8d920040676e96ec750fa6493abf7.tar.gz
ppe42-gcc-e7206175a0c8d920040676e96ec750fa6493abf7.zip
2006-07-27 Benjamin Kosnik <bkoz@wells.artheist.org>
PR libstdc++/19664 round 3 * include/Makefile.am (tr1_headers): Add hashtable_policy.h. * include/Makefile.in: Regenerate. * include/tr1/hashtable: Move policy classes into... * include/tr1/hashtable_policy.h: ... this. New. * src/globals_locale.cc: Move contents.... * src/locale_init.cc: ... to here, put in anonymous namespace. * src/Makefile.am: Remove globals_locale.cc. * src/Makefile.in: Regenerate. * src/locale.cc: Convert __gnu_internal to anonymous namespace. * src/debug.cc: Same. * src/ext-inst.cc: Same. * src/mt_allocator.cc: Same. * src/pool_allocator.cc: Same. * include/tr1/random: Convert std::tr1::_Private to anonymous namespace. * include/tr1/random.tcc: Same. * include/tr1/hashtable: Move ::Internal to std::tr1::detail and enclose bits that can actually be internal in in anonymous namespace. * include/tr1/unordered_set: Adjust explicit qualifications for namespace changes. * include/tr1/unordered_map: Same. * include/tr1/cmath: Convert __gnu_internal to nested detail namespace. * include/bits/cpp_type_traits.h: Move __type_type into anonymous namespace. * include/ext/rope: Change _Rope_constants to anonymous namespace. * include/ext/ropeimpl.h: Same. * src/ext-inst.cc: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115790 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/tr1/unordered_map')
-rw-r--r--libstdc++-v3/include/tr1/unordered_map69
1 files changed, 33 insertions, 36 deletions
diff --git a/libstdc++-v3/include/tr1/unordered_map b/libstdc++-v3/include/tr1/unordered_map
index 207ddbfb29d..675494157f5 100644
--- a/libstdc++-v3/include/tr1/unordered_map
+++ b/libstdc++-v3/include/tr1/unordered_map
@@ -43,29 +43,26 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
// XXX When we get typedef templates these class definitions
// will be unnecessary.
-
template<class Key, class T,
class Hash = hash<Key>,
class Pred = std::equal_to<Key>,
class Alloc = std::allocator<std::pair<const Key, T> >,
bool cache_hash_code = false>
class unordered_map
- : public hashtable <Key, std::pair<const Key, T>,
- Alloc,
- Internal::extract1st<std::pair<const Key, T> >, Pred,
- Hash, Internal::mod_range_hashing,
- Internal::default_ranged_hash,
- Internal::prime_rehash_policy,
- cache_hash_code, false, true>
+ : public hashtable<Key, std::pair<const Key, T>, Alloc,
+ detail::extract1st<std::pair<const Key, T> >, Pred,
+ Hash, detail::mod_range_hashing,
+ detail::default_ranged_hash,
+ detail::prime_rehash_policy,
+ cache_hash_code, false, true>
{
- typedef hashtable <Key, std::pair<const Key, T>,
- Alloc,
- Internal::extract1st<std::pair<const Key, T> >, Pred,
- Hash, Internal::mod_range_hashing,
- Internal::default_ranged_hash,
- Internal::prime_rehash_policy,
- cache_hash_code, false, true>
- Base;
+ typedef hashtable<Key, std::pair<const Key, T>, Alloc,
+ detail::extract1st<std::pair<const Key, T> >, Pred,
+ Hash, detail::mod_range_hashing,
+ detail::default_ranged_hash,
+ detail::prime_rehash_policy,
+ cache_hash_code, false, true>
+ Base;
public:
typedef typename Base::size_type size_type;
@@ -78,9 +75,9 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
const hasher& hf = hasher(),
const key_equal& eql = key_equal(),
const allocator_type& a = allocator_type())
- : Base(n, hf, Internal::mod_range_hashing(),
- Internal::default_ranged_hash(),
- eql, Internal::extract1st<std::pair<const Key, T> >(), a)
+ : Base(n, hf, detail::mod_range_hashing(),
+ detail::default_ranged_hash(),
+ eql, detail::extract1st<std::pair<const Key, T> >(), a)
{ }
template<typename InputIterator>
@@ -89,9 +86,9 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
const hasher& hf = hasher(),
const key_equal& eql = key_equal(),
const allocator_type& a = allocator_type())
- : Base (f, l, n, hf, Internal::mod_range_hashing(),
- Internal::default_ranged_hash(),
- eql, Internal::extract1st<std::pair<const Key, T> >(), a)
+ : Base (f, l, n, hf, detail::mod_range_hashing(),
+ detail::default_ranged_hash(),
+ eql, detail::extract1st<std::pair<const Key, T> >(), a)
{ }
};
@@ -103,18 +100,18 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
class unordered_multimap
: public hashtable <Key, std::pair<const Key, T>,
Alloc,
- Internal::extract1st<std::pair<const Key, T> >, Pred,
- Hash, Internal::mod_range_hashing,
- Internal::default_ranged_hash,
- Internal::prime_rehash_policy,
+ detail::extract1st<std::pair<const Key, T> >, Pred,
+ Hash, detail::mod_range_hashing,
+ detail::default_ranged_hash,
+ detail::prime_rehash_policy,
cache_hash_code, false, false>
{
typedef hashtable <Key, std::pair<const Key, T>,
Alloc,
- Internal::extract1st<std::pair<const Key, T> >, Pred,
- Hash, Internal::mod_range_hashing,
- Internal::default_ranged_hash,
- Internal::prime_rehash_policy,
+ detail::extract1st<std::pair<const Key, T> >, Pred,
+ Hash, detail::mod_range_hashing,
+ detail::default_ranged_hash,
+ detail::prime_rehash_policy,
cache_hash_code, false, false>
Base;
@@ -129,9 +126,9 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
const hasher& hf = hasher(),
const key_equal& eql = key_equal(),
const allocator_type& a = allocator_type())
- : Base (n, hf, Internal::mod_range_hashing(),
- Internal::default_ranged_hash(),
- eql, Internal::extract1st<std::pair<const Key, T> >(), a)
+ : Base (n, hf, detail::mod_range_hashing(),
+ detail::default_ranged_hash(),
+ eql, detail::extract1st<std::pair<const Key, T> >(), a)
{ }
@@ -141,9 +138,9 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
const hasher& hf = hasher(),
const key_equal& eql = key_equal(),
const allocator_type& a = allocator_type())
- : Base (f, l, n, hf, Internal::mod_range_hashing(),
- Internal::default_ranged_hash(),
- eql, Internal::extract1st<std::pair<const Key, T> >(), a)
+ : Base (f, l, n, hf, detail::mod_range_hashing(),
+ detail::default_ranged_hash(),
+ eql, detail::extract1st<std::pair<const Key, T> >(), a)
{ }
};
OpenPOWER on IntegriCloud