diff options
Diffstat (limited to 'third_party/base')
-rw-r--r-- | third_party/base/stl_util.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/third_party/base/stl_util.h b/third_party/base/stl_util.h index 32656038c1..7f1d38bf40 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_ |