diff options
Diffstat (limited to 'academic/sword/multimap.patch')
-rw-r--r-- | academic/sword/multimap.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/academic/sword/multimap.patch b/academic/sword/multimap.patch new file mode 100644 index 0000000000000..7957ab2d8c7fe --- /dev/null +++ b/academic/sword/multimap.patch @@ -0,0 +1,39 @@ +--- sword-1.6.2/include/multimapwdef.h 2004-05-04 23:01:39.000000000 +0200 ++++ /usr/include/sword/multimapwdef.h 2012-06-02 13:37:47.816457345 +0200 +@@ -7,26 +7,26 @@ + + // 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> { ++template < class Key, class T, class Compare > ++class multimapwithdefault : public std::multimap< Key, T, Compare > { + public: +- typedef std::pair<const Key, T> value_type; ++ typedef std::pair< const Key, T > value_type; + T& getWithDefault(const Key& k, const T& defaultValue) { +- if (find(k) == this->end()) { +- insert(value_type(k, defaultValue)); ++ if (this->find(k) == this->end()) { ++ this->insert(value_type(k, defaultValue)); + } + return (*(find(k))).second; + } + + T& operator[](const Key& k) { +- if (find(k) == this->end()) { +- insert(value_type(k, T())); ++ if (this->find(k) == this->end()) { ++ this->insert(value_type(k, T())); + } +- return (*(find(k))).second; ++ return (*(this->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); ++ typename std::multimap< Key, T, Compare >::const_iterator start = this->lower_bound(k); ++ typename std::multimap< Key, T, Compare >::const_iterator end = this->upper_bound(k); + for (; start!=end; start++) { + if (start->second == val) + return true; |