summaryrefslogtreecommitdiff
path: root/third_party/base/stl_util.h
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2015-12-22 13:49:44 -0800
committerLei Zhang <thestig@chromium.org>2015-12-22 13:49:44 -0800
commitcd2bb30aba89a05c0bbd4d6973fa070205e3a1e8 (patch)
tree0eca7841e7be4b9392bbcd0ffb656a8495f64792 /third_party/base/stl_util.h
parentbc75f1737f7eb8d45c5a2ebd3ad78203782c1642 (diff)
downloadpdfium-cd2bb30aba89a05c0bbd4d6973fa070205e3a1e8.tar.xz
Merge to XFA: Add ContainsKey() and ContainsValue() and use them where appropriate.
TBR=ochang@chromium.org Review URL: https://codereview.chromium.org/1540263003 . (cherry picked from commit 1fc92867ca53f0fba4272fbee3814d844f487495) Review URL: https://codereview.chromium.org/1542193002 .
Diffstat (limited to 'third_party/base/stl_util.h')
-rw-r--r--third_party/base/stl_util.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/third_party/base/stl_util.h b/third_party/base/stl_util.h
index fcbe5882a2..50e9341569 100644
--- a/third_party/base/stl_util.h
+++ b/third_party/base/stl_util.h
@@ -22,6 +22,21 @@ inline const T* vector_as_array(const std::vector<T>* v) {
return v->empty() ? nullptr : &*v->begin();
}
+// Test to see if a set, map, hash_set or hash_map contains a particular key.
+// Returns true if the key is in the collection.
+template <typename Collection, typename Key>
+bool ContainsKey(const Collection& collection, const Key& key) {
+ return collection.find(key) != collection.end();
+}
+
+// Test to see if a collection like a vector contains a particular value.
+// Returns true if the value is in the collection.
+template <typename Collection, typename Value>
+bool ContainsValue(const Collection& collection, const Value& value) {
+ return std::find(collection.begin(), collection.end(), value) !=
+ collection.end();
+}
+
} // namespace pdfium
#endif // PDFIUM_THIRD_PARTY_BASE_STL_UTIL_H_