Commit 7ffd2d94 by Paolo Carlini Committed by Paolo Carlini

hashtable: Trivial formatting fixes.

2005-06-15  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/hashtable: Trivial formatting fixes.
	* include/tr1/unordered_map: Likewise.
	* include/tr1/unordered_set: Likewise.

From-SVN: r100988
parent 63a4ef6f
2005-06-15 Paolo Carlini <pcarlini@suse.de>
* include/tr1/hashtable: Trivial formatting fixes.
* include/tr1/unordered_map: Likewise.
* include/tr1/unordered_set: Likewise.
2005-06-14 Tom Tromey <tromey@redhat.com> 2005-06-14 Tom Tromey <tromey@redhat.com>
PR libgcj/19877: PR libgcj/19877:
......
...@@ -40,127 +40,131 @@ ...@@ -40,127 +40,131 @@
#include <utility> #include <utility>
#include <memory> #include <memory>
namespace std { namespace tr1 { namespace std
{
// XXX When we get typedef templates these class definitions will be unnecessary. namespace tr1
{
// XXX When we get typedef templates these class definitions
// will be unnecessary.
template <class Key, class T, template<class Key, class T,
class Hash = hash<Key>, class Hash = hash<Key>,
class Pred = std::equal_to<Key>, class Pred = std::equal_to<Key>,
class Alloc = std::allocator<std::pair<const Key, T> >, class Alloc = std::allocator<std::pair<const Key, T> >,
bool cache_hash_code = false> bool cache_hash_code = false>
class unordered_map class unordered_map
: public hashtable <Key, std::pair<const Key, T>, : public hashtable <Key, std::pair<const Key, T>,
Alloc, Alloc,
Internal::extract1st<std::pair<const Key, T> >, Pred, Internal::extract1st<std::pair<const Key, T> >, Pred,
Hash, Internal::mod_range_hashing, Internal::default_ranged_hash, Hash, Internal::mod_range_hashing,
Internal::default_ranged_hash,
Internal::prime_rehash_policy, Internal::prime_rehash_policy,
cache_hash_code, true, true> cache_hash_code, true, true>
{ {
typedef hashtable <Key, std::pair<const Key, T>, typedef hashtable <Key, std::pair<const Key, T>,
Alloc, Alloc,
Internal::extract1st<std::pair<const Key, T> >, Pred, Internal::extract1st<std::pair<const Key, T> >, Pred,
Hash, Internal::mod_range_hashing, Internal::default_ranged_hash, Hash, Internal::mod_range_hashing,
Internal::default_ranged_hash,
Internal::prime_rehash_policy, Internal::prime_rehash_policy,
cache_hash_code, true, true> cache_hash_code, true, true>
Base; Base;
public: public:
typedef typename Base::size_type size_type; typedef typename Base::size_type size_type;
typedef typename Base::hasher hasher; typedef typename Base::hasher hasher;
typedef typename Base::key_equal key_equal; typedef typename Base::key_equal key_equal;
typedef typename Base::allocator_type allocator_type; typedef typename Base::allocator_type allocator_type;
explicit unordered_map(size_type n = 10, explicit
unordered_map(size_type n = 10,
const hasher& hf = hasher(), const hasher& hf = hasher(),
const key_equal& eql = key_equal(), const key_equal& eql = key_equal(),
const allocator_type& a = allocator_type()) const allocator_type& a = allocator_type())
: Base (n, : Base(n, hf, Internal::mod_range_hashing(),
hf, Internal::mod_range_hashing(), Internal::default_ranged_hash(), Internal::default_ranged_hash(),
eql, Internal::extract1st<std::pair<const Key, T> >(), eql, Internal::extract1st<std::pair<const Key, T> >(), a)
a)
{ } { }
template <typename InputIterator> template<typename InputIterator>
unordered_map(InputIterator f, InputIterator l, unordered_map(InputIterator f, InputIterator l,
size_type n = 10, size_type n = 10,
const hasher& hf = hasher(), const hasher& hf = hasher(),
const key_equal& eql = key_equal(), const key_equal& eql = key_equal(),
const allocator_type& a = allocator_type()) const allocator_type& a = allocator_type())
: Base (f, l, : Base (f, l, n, hf, Internal::mod_range_hashing(),
n, Internal::default_ranged_hash(),
hf, Internal::mod_range_hashing(), Internal::default_ranged_hash(), eql, Internal::extract1st<std::pair<const Key, T> >(), a)
eql, Internal::extract1st<std::pair<const Key, T> >(),
a)
{ } { }
}; };
template <class Key, class T, template<class Key, class T,
class Hash = hash<Key>, class Hash = hash<Key>,
class Pred = std::equal_to<Key>, class Pred = std::equal_to<Key>,
class Alloc = std::allocator<std::pair<const Key, T> >, class Alloc = std::allocator<std::pair<const Key, T> >,
bool cache_hash_code = false> bool cache_hash_code = false>
class unordered_multimap class unordered_multimap
: public hashtable <Key, std::pair<const Key, T>, : public hashtable <Key, std::pair<const Key, T>,
Alloc, Alloc,
Internal::extract1st<std::pair<const Key, T> >, Pred, Internal::extract1st<std::pair<const Key, T> >, Pred,
Hash, Internal::mod_range_hashing, Internal::default_ranged_hash, Hash, Internal::mod_range_hashing,
Internal::default_ranged_hash,
Internal::prime_rehash_policy, Internal::prime_rehash_policy,
cache_hash_code, true, false> cache_hash_code, true, false>
{ {
typedef hashtable <Key, std::pair<const Key, T>, typedef hashtable <Key, std::pair<const Key, T>,
Alloc, Alloc,
Internal::extract1st<std::pair<const Key, T> >, Pred, Internal::extract1st<std::pair<const Key, T> >, Pred,
Hash, Internal::mod_range_hashing, Internal::default_ranged_hash, Hash, Internal::mod_range_hashing,
Internal::default_ranged_hash,
Internal::prime_rehash_policy, Internal::prime_rehash_policy,
cache_hash_code, true, false> cache_hash_code, true, false>
Base; Base;
public: public:
typedef typename Base::size_type size_type; typedef typename Base::size_type size_type;
typedef typename Base::hasher hasher; typedef typename Base::hasher hasher;
typedef typename Base::key_equal key_equal; typedef typename Base::key_equal key_equal;
typedef typename Base::allocator_type allocator_type; typedef typename Base::allocator_type allocator_type;
explicit unordered_multimap(size_type n = 10, explicit
unordered_multimap(size_type n = 10,
const hasher& hf = hasher(), const hasher& hf = hasher(),
const key_equal& eql = key_equal(), const key_equal& eql = key_equal(),
const allocator_type& a = allocator_type()) const allocator_type& a = allocator_type())
: Base (n, : Base (n, hf, Internal::mod_range_hashing(),
hf, Internal::mod_range_hashing(), Internal::default_ranged_hash(), Internal::default_ranged_hash(),
eql, Internal::extract1st<std::pair<const Key, T> >(), eql, Internal::extract1st<std::pair<const Key, T> >(), a)
a)
{ } { }
template <typename InputIterator> template<typename InputIterator>
unordered_multimap(InputIterator f, InputIterator l, unordered_multimap(InputIterator f, InputIterator l,
typename Base::size_type n = 0, typename Base::size_type n = 0,
const hasher& hf = hasher(), const hasher& hf = hasher(),
const key_equal& eql = key_equal(), const key_equal& eql = key_equal(),
const allocator_type& a = allocator_type()) const allocator_type& a = allocator_type())
: Base (f, l, : Base (f, l, n, hf, Internal::mod_range_hashing(),
n, Internal::default_ranged_hash(),
hf, Internal::mod_range_hashing(), Internal::default_ranged_hash(), eql, Internal::extract1st<std::pair<const Key, T> >(), a)
eql, Internal::extract1st<std::pair<const Key, T> >(),
a)
{ } { }
}; };
template <class Key, class T, class Hash, class Pred, class Alloc, bool cache_hash_code> template<class Key, class T, class Hash, class Pred, class Alloc,
inline void swap (unordered_map<Key, T, Hash, Pred, Alloc, cache_hash_code>& x, bool cache_hash_code>
inline void
swap(unordered_map<Key, T, Hash, Pred, Alloc, cache_hash_code>& x,
unordered_map<Key, T, Hash, Pred, Alloc, cache_hash_code>& y) unordered_map<Key, T, Hash, Pred, Alloc, cache_hash_code>& y)
{ { x.swap(y); }
x.swap(y);
}
template <class Key, class T, class Hash, class Pred, class Alloc, bool cache_hash_code> template<class Key, class T, class Hash, class Pred, class Alloc,
inline void swap (unordered_multimap<Key, T, Hash, Pred, Alloc, cache_hash_code>& x, bool cache_hash_code>
inline void
swap(unordered_multimap<Key, T, Hash, Pred, Alloc, cache_hash_code>& x,
unordered_multimap<Key, T, Hash, Pred, Alloc, cache_hash_code>& y) unordered_multimap<Key, T, Hash, Pred, Alloc, cache_hash_code>& y)
{ { x.swap(y); }
x.swap(y);
}
} } }
}
#endif /* GNU_LIBSTDCXX_TR1_UNORDERED_MAP_ */ #endif /* GNU_LIBSTDCXX_TR1_UNORDERED_MAP_ */
...@@ -38,123 +38,128 @@ ...@@ -38,123 +38,128 @@
#include <tr1/functional> #include <tr1/functional>
#include <memory> #include <memory>
namespace std { namespace tr1 { namespace std
{
namespace tr1
{
// XXX When we get typedef templates these class definitions will be unnecessary. // XXX When we get typedef templates these class definitions
// will be unnecessary.
template <class Value, template<class Value,
class Hash = hash<Value>, class Hash = hash<Value>,
class Pred = std::equal_to<Value>, class Pred = std::equal_to<Value>,
class Alloc = std::allocator<Value>, class Alloc = std::allocator<Value>,
bool cache_hash_code = false> bool cache_hash_code = false>
class unordered_set class unordered_set
: public hashtable <Value, Value, Alloc, : public hashtable<Value, Value, Alloc,
Internal::identity<Value>, Pred, Internal::identity<Value>, Pred,
Hash, Internal::mod_range_hashing, Internal::default_ranged_hash, Hash, Internal::mod_range_hashing,
Internal::default_ranged_hash,
Internal::prime_rehash_policy, Internal::prime_rehash_policy,
cache_hash_code, false, true> cache_hash_code, false, true>
{ {
typedef hashtable <Value, Value, Alloc, typedef hashtable<Value, Value, Alloc,
Internal::identity<Value>, Pred, Internal::identity<Value>, Pred,
Hash, Internal::mod_range_hashing, Internal::default_ranged_hash, Hash, Internal::mod_range_hashing,
Internal::default_ranged_hash,
Internal::prime_rehash_policy, Internal::prime_rehash_policy,
cache_hash_code, false, true> cache_hash_code, false, true>
Base; Base;
public: public:
typedef typename Base::size_type size_type; typedef typename Base::size_type size_type;
typedef typename Base::hasher hasher; typedef typename Base::hasher hasher;
typedef typename Base::key_equal key_equal; typedef typename Base::key_equal key_equal;
typedef typename Base::allocator_type allocator_type; typedef typename Base::allocator_type allocator_type;
explicit unordered_set(size_type n = 10, explicit
unordered_set(size_type n = 10,
const hasher& hf = hasher(), const hasher& hf = hasher(),
const key_equal& eql = key_equal(), const key_equal& eql = key_equal(),
const allocator_type& a = allocator_type()) const allocator_type& a = allocator_type())
: Base (n, : Base (n, hf, Internal::mod_range_hashing(),
hf, Internal::mod_range_hashing(), Internal::default_ranged_hash(), Internal::default_ranged_hash(),
eql, Internal::identity<Value>(), eql, Internal::identity<Value>(), a)
a)
{ } { }
template <typename InputIterator> template<typename InputIterator>
unordered_set(InputIterator f, InputIterator l, unordered_set(InputIterator f, InputIterator l,
size_type n = 10, size_type n = 10,
const hasher& hf = hasher(), const hasher& hf = hasher(),
const key_equal& eql = key_equal(), const key_equal& eql = key_equal(),
const allocator_type& a = allocator_type()) const allocator_type& a = allocator_type())
: Base (f, l, : Base (f, l, n, hf, Internal::mod_range_hashing(),
n, Internal::default_ranged_hash(),
hf, Internal::mod_range_hashing(), Internal::default_ranged_hash(), eql, Internal::identity<Value>(), a)
eql, Internal::identity<Value>(),
a)
{ } { }
}; };
template <class Value, template<class Value,
class Hash = hash<Value>, class Hash = hash<Value>,
class Pred = std::equal_to<Value>, class Pred = std::equal_to<Value>,
class Alloc = std::allocator<Value>, class Alloc = std::allocator<Value>,
bool cache_hash_code = false> bool cache_hash_code = false>
class unordered_multiset class unordered_multiset
: public hashtable <Value, Value, Alloc, : public hashtable <Value, Value, Alloc,
Internal::identity<Value>, Pred, Internal::identity<Value>, Pred,
Hash, Internal::mod_range_hashing, Internal::default_ranged_hash, Hash, Internal::mod_range_hashing,
Internal::default_ranged_hash,
Internal::prime_rehash_policy, Internal::prime_rehash_policy,
cache_hash_code, false, false> cache_hash_code, false, false>
{ {
typedef hashtable <Value, Value, Alloc, typedef hashtable<Value, Value, Alloc,
Internal::identity<Value>, Pred, Internal::identity<Value>, Pred,
Hash, Internal::mod_range_hashing, Internal::default_ranged_hash, Hash, Internal::mod_range_hashing,
Internal::default_ranged_hash,
Internal::prime_rehash_policy, Internal::prime_rehash_policy,
cache_hash_code, false, false> cache_hash_code, false, false>
Base; Base;
public: public:
typedef typename Base::size_type size_type; typedef typename Base::size_type size_type;
typedef typename Base::hasher hasher; typedef typename Base::hasher hasher;
typedef typename Base::key_equal key_equal; typedef typename Base::key_equal key_equal;
typedef typename Base::allocator_type allocator_type; typedef typename Base::allocator_type allocator_type;
explicit unordered_multiset(size_type n = 10, explicit
unordered_multiset(size_type n = 10,
const hasher& hf = hasher(), const hasher& hf = hasher(),
const key_equal& eql = key_equal(), const key_equal& eql = key_equal(),
const allocator_type& a = allocator_type()) const allocator_type& a = allocator_type())
: Base (n, : Base (n, hf, Internal::mod_range_hashing(),
hf, Internal::mod_range_hashing(), Internal::default_ranged_hash(), Internal::default_ranged_hash(),
eql, Internal::identity<Value>(), eql, Internal::identity<Value>(), a)
a)
{ } { }
template <typename InputIterator> template<typename InputIterator>
unordered_multiset(InputIterator f, InputIterator l, unordered_multiset(InputIterator f, InputIterator l,
typename Base::size_type n = 0, typename Base::size_type n = 0,
const hasher& hf = hasher(), const hasher& hf = hasher(),
const key_equal& eql = key_equal(), const key_equal& eql = key_equal(),
const allocator_type& a = allocator_type()) const allocator_type& a = allocator_type())
: Base (f, l, : Base (f, l, n, hf, Internal::mod_range_hashing(),
n, Internal::default_ranged_hash(), eql,
hf, Internal::mod_range_hashing(), Internal::default_ranged_hash(), Internal::identity<Value>(), a)
eql, Internal::identity<Value>(),
a)
{ } { }
}; };
template <class Value, class Hash, class Pred, class Alloc, bool cache_hash_code> template<class Value, class Hash, class Pred, class Alloc,
inline void swap (unordered_set<Value, Hash, Pred, Alloc, cache_hash_code>& x, bool cache_hash_code>
inline void
swap (unordered_set<Value, Hash, Pred, Alloc, cache_hash_code>& x,
unordered_set<Value, Hash, Pred, Alloc, cache_hash_code>& y) unordered_set<Value, Hash, Pred, Alloc, cache_hash_code>& y)
{ { x.swap(y); }
x.swap(y);
}
template <class Value, class Hash, class Pred, class Alloc, bool cache_hash_code> template<class Value, class Hash, class Pred, class Alloc,
inline void swap (unordered_multiset<Value, Hash, Pred, Alloc, cache_hash_code>& x, bool cache_hash_code>
inline void
swap(unordered_multiset<Value, Hash, Pred, Alloc, cache_hash_code>& x,
unordered_multiset<Value, Hash, Pred, Alloc, cache_hash_code>& y) unordered_multiset<Value, Hash, Pred, Alloc, cache_hash_code>& y)
{ { x.swap(y); }
x.swap(y);
}
} } }
}
#endif /* GNU_LIBSTDCXX_TR1_UNORDERED_SET_ */ #endif /* GNU_LIBSTDCXX_TR1_UNORDERED_SET_ */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment