From 05221f8206c658155cd82d3630f4af07471f7def Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <kde@carewolf.com>
Date: Tue, 13 Jul 2004 18:28:50 +0000
Subject: [PATCH] Add find and erase semantics like those in tlist.h

git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@328830 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
---
 toolkit/tmap.h   | 15 +++++++++++++++
 toolkit/tmap.tcc | 18 ++++++++++++++++++
 2 files changed, 33 insertions(+)

diff --git a/toolkit/tmap.h b/toolkit/tmap.h
index d176c8f2..f67bcbaa 100644
--- a/toolkit/tmap.h
+++ b/toolkit/tmap.h
@@ -111,11 +111,26 @@ namespace TagLib {
      */
     bool isEmpty() const;
 
+    /*!
+     * Find the first occurance of \a key.
+     */
+    Iterator find(const Key &key);
+
+    /*!
+     * Find the first occurance of \a key.
+     */
+    ConstIterator find(const Key &key) const;
+
     /*!
      * Returns true if the map contains an instance of \a key.
      */
     bool contains(const Key &key) const;
 
+    /*!
+     * Erase the item at \a it from the list.
+     */
+    void erase(Iterator it);
+
     /*!
      * Returns a reference to the value associated with \a key.
      *
diff --git a/toolkit/tmap.tcc b/toolkit/tmap.tcc
index e634dea6..fff5f664 100644
--- a/toolkit/tmap.tcc
+++ b/toolkit/tmap.tcc
@@ -101,12 +101,30 @@ bool Map<Key, T>::isEmpty() const
   return d->map.empty();
 }
 
+template <class Key, class T>
+typename Map<Key, T>::Iterator Map<Key, T>::find(const Key &key)
+{
+  return d->map.find(key);
+}
+
+template <class Key, class T>
+typename Map<Key,T>::ConstIterator Map<Key, T>::find(const Key &key) const
+{
+  return d->map.find(key);
+}
+
 template <class Key, class T>
 bool Map<Key, T>::contains(const Key &key) const
 {
   return d->map.find(key) != d->map.end();
 }
 
+template <class Key, class T>
+void Map<Key,T>::erase(Iterator it)
+{
+  d->map.erase(it);
+}
+
 template <class Key, class T>
 TagLib::uint Map<Key, T>::size() const
 {
-- 
2.40.0