|
Rex Dieter |
41a11e7 |
Index: trunk/Source/WTF/wtf/HashMap.h
|
|
Rex Dieter |
41a11e7 |
===================================================================
|
|
Rex Dieter |
41a11e7 |
--- trunk/Source/WTF/wtf/HashMap.h (revision 147344)
|
|
Rex Dieter |
41a11e7 |
+++ trunk/Source/WTF/wtf/HashMap.h (revision 147345)
|
|
Rex Dieter |
41a11e7 |
@@ -137,27 +137,33 @@
|
|
Rex Dieter |
41a11e7 |
AddResult inlineAdd(const KeyType&, MappedPassInReferenceType);
|
|
Rex Dieter |
41a11e7 |
|
|
Rex Dieter |
41a11e7 |
- class HashMapKeysProxy : private HashMap {
|
|
Rex Dieter |
41a11e7 |
+ HashTableType m_impl;
|
|
Rex Dieter |
41a11e7 |
+ };
|
|
Rex Dieter |
41a11e7 |
+
|
|
Rex Dieter |
41a11e7 |
+ template<typename KeyArg, typename MappedArg, typename HashArg, typename KeyTraitsArg, typename MappedTraitsArg>
|
|
Rex Dieter |
41a11e7 |
+ class HashMap<KeyArg, MappedArg, HashArg, KeyTraitsArg, MappedTraitsArg>::HashMapKeysProxy :
|
|
Rex Dieter |
41a11e7 |
+ private HashMap<KeyArg, MappedArg, HashArg, KeyTraitsArg, MappedTraitsArg> {
|
|
Rex Dieter |
41a11e7 |
public:
|
|
Rex Dieter |
41a11e7 |
- typedef typename HashMap::iterator::Keys iterator;
|
|
Rex Dieter |
41a11e7 |
- typedef typename HashMap::const_iterator::Keys const_iterator;
|
|
Rex Dieter |
41a11e7 |
-
|
|
Rex Dieter |
41a11e7 |
+ typedef HashMap<KeyArg, MappedArg, HashArg, KeyTraitsArg, MappedTraitsArg> HashMapType;
|
|
Rex Dieter |
41a11e7 |
+ typedef typename HashMapType::iterator::Keys iterator;
|
|
Rex Dieter |
41a11e7 |
+ typedef typename HashMapType::const_iterator::Keys const_iterator;
|
|
Rex Dieter |
41a11e7 |
+
|
|
Rex Dieter |
41a11e7 |
iterator begin()
|
|
Rex Dieter |
41a11e7 |
{
|
|
Rex Dieter |
41a11e7 |
- return HashMap::begin().keys();
|
|
Rex Dieter |
41a11e7 |
- }
|
|
Rex Dieter |
41a11e7 |
-
|
|
Rex Dieter |
41a11e7 |
+ return HashMapType::begin().keys();
|
|
Rex Dieter |
41a11e7 |
+ }
|
|
Rex Dieter |
41a11e7 |
+
|
|
Rex Dieter |
41a11e7 |
iterator end()
|
|
Rex Dieter |
41a11e7 |
{
|
|
Rex Dieter |
41a11e7 |
- return HashMap::end().keys();
|
|
Rex Dieter |
41a11e7 |
+ return HashMapType::end().keys();
|
|
Rex Dieter |
41a11e7 |
}
|
|
Rex Dieter |
41a11e7 |
|
|
Rex Dieter |
41a11e7 |
const_iterator begin() const
|
|
Rex Dieter |
41a11e7 |
{
|
|
Rex Dieter |
41a11e7 |
- return HashMap::begin().keys();
|
|
Rex Dieter |
41a11e7 |
- }
|
|
Rex Dieter |
41a11e7 |
-
|
|
Rex Dieter |
41a11e7 |
+ return HashMapType::begin().keys();
|
|
Rex Dieter |
41a11e7 |
+ }
|
|
Rex Dieter |
41a11e7 |
+
|
|
Rex Dieter |
41a11e7 |
const_iterator end() const
|
|
Rex Dieter |
41a11e7 |
{
|
|
Rex Dieter |
41a11e7 |
- return HashMap::end().keys();
|
|
Rex Dieter |
41a11e7 |
+ return HashMapType::end().keys();
|
|
Rex Dieter |
41a11e7 |
}
|
|
Rex Dieter |
41a11e7 |
|
|
Rex Dieter |
41a11e7 |
@@ -170,29 +176,32 @@
|
|
Rex Dieter |
41a11e7 |
HashMapKeysProxy& operator=(const HashMapKeysProxy&);
|
|
Rex Dieter |
41a11e7 |
~HashMapKeysProxy();
|
|
Rex Dieter |
41a11e7 |
- };
|
|
Rex Dieter |
41a11e7 |
-
|
|
Rex Dieter |
41a11e7 |
- class HashMapValuesProxy : private HashMap {
|
|
Rex Dieter |
41a11e7 |
+ };
|
|
Rex Dieter |
41a11e7 |
+
|
|
Rex Dieter |
41a11e7 |
+ template<typename KeyArg, typename MappedArg, typename HashArg, typename KeyTraitsArg, typename MappedTraitsArg>
|
|
Rex Dieter |
41a11e7 |
+ class HashMap<KeyArg, MappedArg, HashArg, KeyTraitsArg, MappedTraitsArg>::HashMapValuesProxy :
|
|
Rex Dieter |
41a11e7 |
+ private HashMap<KeyArg, MappedArg, HashArg, KeyTraitsArg, MappedTraitsArg> {
|
|
Rex Dieter |
41a11e7 |
public:
|
|
Rex Dieter |
41a11e7 |
- typedef typename HashMap::iterator::Values iterator;
|
|
Rex Dieter |
41a11e7 |
- typedef typename HashMap::const_iterator::Values const_iterator;
|
|
Rex Dieter |
41a11e7 |
-
|
|
Rex Dieter |
41a11e7 |
+ typedef HashMap<KeyArg, MappedArg, HashArg, KeyTraitsArg, MappedTraitsArg> HashMapType;
|
|
Rex Dieter |
41a11e7 |
+ typedef typename HashMapType::iterator::Values iterator;
|
|
Rex Dieter |
41a11e7 |
+ typedef typename HashMapType::const_iterator::Values const_iterator;
|
|
Rex Dieter |
41a11e7 |
+
|
|
Rex Dieter |
41a11e7 |
iterator begin()
|
|
Rex Dieter |
41a11e7 |
{
|
|
Rex Dieter |
41a11e7 |
- return HashMap::begin().values();
|
|
Rex Dieter |
41a11e7 |
- }
|
|
Rex Dieter |
41a11e7 |
-
|
|
Rex Dieter |
41a11e7 |
+ return HashMapType::begin().values();
|
|
Rex Dieter |
41a11e7 |
+ }
|
|
Rex Dieter |
41a11e7 |
+
|
|
Rex Dieter |
41a11e7 |
iterator end()
|
|
Rex Dieter |
41a11e7 |
{
|
|
Rex Dieter |
41a11e7 |
- return HashMap::end().values();
|
|
Rex Dieter |
41a11e7 |
+ return HashMapType::end().values();
|
|
Rex Dieter |
41a11e7 |
}
|
|
Rex Dieter |
41a11e7 |
|
|
Rex Dieter |
41a11e7 |
const_iterator begin() const
|
|
Rex Dieter |
41a11e7 |
{
|
|
Rex Dieter |
41a11e7 |
- return HashMap::begin().values();
|
|
Rex Dieter |
41a11e7 |
- }
|
|
Rex Dieter |
41a11e7 |
-
|
|
Rex Dieter |
41a11e7 |
+ return HashMapType::begin().values();
|
|
Rex Dieter |
41a11e7 |
+ }
|
|
Rex Dieter |
41a11e7 |
+
|
|
Rex Dieter |
41a11e7 |
const_iterator end() const
|
|
Rex Dieter |
41a11e7 |
{
|
|
Rex Dieter |
41a11e7 |
- return HashMap::end().values();
|
|
Rex Dieter |
41a11e7 |
+ return HashMapType::end().values();
|
|
Rex Dieter |
41a11e7 |
}
|
|
Rex Dieter |
41a11e7 |
|
|
Rex Dieter |
41a11e7 |
@@ -205,7 +214,4 @@
|
|
Rex Dieter |
41a11e7 |
HashMapValuesProxy& operator=(const HashMapValuesProxy&);
|
|
Rex Dieter |
41a11e7 |
~HashMapValuesProxy();
|
|
Rex Dieter |
41a11e7 |
- };
|
|
Rex Dieter |
41a11e7 |
-
|
|
Rex Dieter |
41a11e7 |
- HashTableType m_impl;
|
|
Rex Dieter |
41a11e7 |
};
|
|
Rex Dieter |
41a11e7 |
|