Index: third_party/base/stl_util.h |
diff --git a/third_party/base/stl_util.h b/third_party/base/stl_util.h |
index 32656038c145c2ba33a2c91edbd27afac4d8df09..7f1d38bf4026dff786efc7c04644d120e8df4307 100644 |
--- a/third_party/base/stl_util.h |
+++ b/third_party/base/stl_util.h |
@@ -5,6 +5,8 @@ |
#ifndef PDFIUM_THIRD_PARTY_BASE_STL_UTIL_H_ |
#define PDFIUM_THIRD_PARTY_BASE_STL_UTIL_H_ |
+#include "third_party/base/numerics/safe_conversions.h" |
+ |
namespace pdfium { |
// Test to see if a set, map, hash_set or hash_map contains a particular key. |
@@ -22,6 +24,13 @@ bool ContainsValue(const Collection& collection, const Value& value) { |
collection.end(); |
} |
+// Convenience routine for "int-fected" code, so that the stl collection |
+// size_t size() method return values will be checked. |
+template <typename ResultType, typename Collection> |
+ResultType CollectionSize(const Collection& collection) { |
+ return pdfium::base::checked_cast<ResultType, size_t>(collection.size()); |
+} |
+ |
} // namespace pdfium |
#endif // PDFIUM_THIRD_PARTY_BASE_STL_UTIL_H_ |