diff options
author | Roberto C. Sanchez <roberto@connexer.com> | 2014-03-29 10:53:52 -0400 |
---|---|---|
committer | Roberto C. Sanchez <roberto@connexer.com> | 2014-03-29 10:53:52 -0400 |
commit | 148bd343f3e7e32d141f66b5b5c9b98b2975b0b3 (patch) | |
tree | 31078963b85110d57310759016e60e8d26ccb1e6 /include/multimapwdef.h | |
parent | 8c8aa6b07e595cfac56838b5964ab3e96051f1b2 (diff) |
Imported Upstream version 1.5.8
Diffstat (limited to 'include/multimapwdef.h')
-rw-r--r-- | include/multimapwdef.h | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/include/multimapwdef.h b/include/multimapwdef.h deleted file mode 100644 index 664e21d..0000000 --- a/include/multimapwdef.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef MULTIMAPWDEF -#define MULTIMAPWDEF - -#include <map> - -SWORD_NAMESPACE_START - -// multmap that still lets you use [] to reference FIRST -// entry of a key if multiples exist -template <class Key, class T, class Compare> -class multimapwithdefault : public std::multimap<Key, T, Compare> { -public: - typedef std::pair<const Key, T> value_type; - T& getWithDefault(const Key& k, const T& defaultValue) { - if (find(k) == end()) { - insert(value_type(k, defaultValue)); - } - return (*(find(k))).second; - } - - T& operator[](const Key& k) { - if (find(k) == end()) { - insert(value_type(k, T())); - } - return (*(find(k))).second; - } - bool has(const Key& k, const T &val) const { - typename std::multimap<Key, T, Compare>::const_iterator start = lower_bound(k); - typename std::multimap<Key, T, Compare>::const_iterator end = upper_bound(k); - for (; start!=end; start++) { - if (start->second == val) - return true; - } - return false; - } -}; - -SWORD_NAMESPACE_END -#endif |