Remove stream operators from safe_conversions.h and clamped_math.h
Avoid dragging <ostream> into all modules using safe math.
-- fix resulting IWYU.
Change-Id: Id81b198ad1a60f0d8e81b5a7069dee76d7da9d1e
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/87130
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fxcrt/widestring.cpp b/core/fxcrt/widestring.cpp
index d8c5e99..38f56d1 100644
--- a/core/fxcrt/widestring.cpp
+++ b/core/fxcrt/widestring.cpp
@@ -10,6 +10,7 @@
#include <string.h>
#include <algorithm>
+#include <sstream>
#include "core/fxcrt/fx_codepage.h"
#include "core/fxcrt/fx_extension.h"
diff --git a/third_party/base/numerics/README.pdfium b/third_party/base/numerics/README.pdfium
new file mode 100644
index 0000000..636f2df
--- /dev/null
+++ b/third_party/base/numerics/README.pdfium
@@ -0,0 +1,7 @@
+Description:
+Chromium's safe numerics library
+
+Local Modifications:
+
+Namespaced from base:: to pdfium::base:: in all files.
+Remove ostream operators in safe_conversions.h and clamped_math.h
diff --git a/third_party/base/numerics/clamped_math.h b/third_party/base/numerics/clamped_math.h
index 5ae9633..c2f25c5 100644
--- a/third_party/base/numerics/clamped_math.h
+++ b/third_party/base/numerics/clamped_math.h
@@ -193,15 +193,6 @@
return value;
}
-#if !BASE_NUMERICS_DISABLE_OSTREAM_OPERATORS
-// Overload the ostream output operator to make logging work nicely.
-template <typename T>
-std::ostream& operator<<(std::ostream& os, const ClampedNumeric<T>& value) {
- os << static_cast<T>(value);
- return os;
-}
-#endif
-
// These implement the variadic wrapper for the math operations.
template <template <typename, typename, typename> class M,
typename L,
diff --git a/third_party/base/numerics/safe_conversions.h b/third_party/base/numerics/safe_conversions.h
index 3a07849..244f16c 100644
--- a/third_party/base/numerics/safe_conversions.h
+++ b/third_party/base/numerics/safe_conversions.h
@@ -19,10 +19,6 @@
#define BASE_HAS_OPTIMIZED_SAFE_CONVERSIONS (0)
#endif
-#if !BASE_NUMERICS_DISABLE_OSTREAM_OPERATORS
-#include <ostream>
-#endif
-
namespace pdfium {
namespace base {
namespace internal {
@@ -312,15 +308,6 @@
return value;
}
-#if !BASE_NUMERICS_DISABLE_OSTREAM_OPERATORS
-// Overload the ostream output operator to make logging work nicely.
-template <typename T>
-std::ostream& operator<<(std::ostream& os, const StrictNumeric<T>& value) {
- os << static_cast<T>(value);
- return os;
-}
-#endif
-
#define BASE_NUMERIC_COMPARISON_OPERATORS(CLASS, NAME, OP) \
template <typename L, typename R, \
typename std::enable_if< \