Reviewed by Maciej.
authordarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 1 Feb 2006 04:33:27 +0000 (04:33 +0000)
committerdarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 1 Feb 2006 04:33:27 +0000 (04:33 +0000)
        - added deleteAllValues for HashSet as well as HashMap
        - fixed conversion from const_iterator to iterator, which I broke a while back

        * kxmlcore/HashMap.h: Updated copyright date.
        * kxmlcore/HashSet.h: (KXMLCore::deleteAllValues): Added.
        * kxmlcore/HashTable.h: (KXMLCore::HashTableIterator::operator const_iterator): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@12511 268f45cc-cd09-0410-ab3c-d52691b4dbfc

JavaScriptCore/ChangeLog
JavaScriptCore/kxmlcore/HashMap.h
JavaScriptCore/kxmlcore/HashSet.h
JavaScriptCore/kxmlcore/HashTable.h

index 70de30f0426ef18ff61ae3686a0c6e4172f19343..038f49ed15c7ecfee3311bf02ca237749e0494a5 100644 (file)
@@ -1,3 +1,14 @@
+2006-01-31  Darin Adler  <darin@apple.com>
+
+        Reviewed by Maciej.
+
+        - added deleteAllValues for HashSet as well as HashMap
+        - fixed conversion from const_iterator to iterator, which I broke a while back
+
+        * kxmlcore/HashMap.h: Updated copyright date.
+        * kxmlcore/HashSet.h: (KXMLCore::deleteAllValues): Added.
+        * kxmlcore/HashTable.h: (KXMLCore::HashTableIterator::operator const_iterator): Added.
+
 2006-01-31  Tim Omernick  <timo@apple.com>
 
         Reviewed by Geoff Garen.
index f00aef0629f9039922c19dbd26c44024aedfcc66..46263575dea04f5d6ae97dd09595f736add391d1 100644 (file)
@@ -2,7 +2,8 @@
 /*
  * This file is part of the KDE libraries
  *
- * Copyright (C) 2005 Apple Computer, Inc.
+ * Copyright (C) 2005, 2006 Apple Computer, Inc.
+ *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
  * License as published by the Free Software Foundation; either
index ae9e4b1e8bb3e9bb24e1b9782c754c2fbc83bb70..556a54ea2705b11e12d860891739d20d050bb0a9 100644 (file)
@@ -1,7 +1,8 @@
 // -*- mode: c++; c-basic-offset: 4 -*-
 /*
  * This file is part of the KDE libraries
- * Copyright (C) 2005 Apple Computer, Inc.
+ *
+ * Copyright (C) 2005, 2006 Apple Computer, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -193,6 +194,15 @@ namespace KXMLCore {
         m_impl.clear(); 
     }
 
+    template<typename Value, typename HashFunctions, typename Traits>
+    void deleteAllValues(HashSet<Value, HashFunctions, Traits>& collection)
+    {
+        typedef HashSet<Value, HashFunctions, Traits> T;
+        typename T::iterator end = collection.end();
+        for (typename T::iterator it = collection.begin(); it != end; ++it)
+            delete (*it);
+    }
+
 } // namespace khtml
 
 using KXMLCore::HashSet;
index 0e637975b1589c3db851ddee5ccd3a620a9969a3..f53ae146bbc576e9d611f9ab7aeb78f1fefa00f1 100644 (file)
@@ -110,14 +110,6 @@ namespace KXMLCore {
             addIterator(0, this);
         }
 
-        HashTableConstIterator(const iterator& other)
-            : m_position(other.m_position), m_endPosition(other.m_endPosition)
-        {
-#if CHECK_HASHTABLE_ITERATORS
-            addIterator(other.m_table, this);
-#endif
-        }
-
         // default copy, assignment and destructor are OK if CHECK_HASHTABLE_ITERATORS is 0
 
 #if CHECK_HASHTABLE_ITERATORS
@@ -232,6 +224,8 @@ namespace KXMLCore {
         bool operator==(const iterator& other) const { return m_iterator == other.m_iterator; }
         bool operator!=(const iterator& other) const { return m_iterator != other.m_iterator; }
 
+        operator const_iterator() const { return m_iterator; }
+
     private:
         const_iterator m_iterator;
     };