Use STL functions in a couple places.
- Fill vectors with std::iota() when appropriate.
- Use std::swap() instead of swapping manually.
Change-Id: I9fac6e6904e0742be7214d8ba12f44e333cdf997
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/61070
Commit-Queue: Lei Zhang <thestig@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
diff --git a/core/fpdfapi/page/cpdf_dibbase.cpp b/core/fpdfapi/page/cpdf_dibbase.cpp
index 0eed6f5..c4a59d4 100644
--- a/core/fpdfapi/page/cpdf_dibbase.cpp
+++ b/core/fpdfapi/page/cpdf_dibbase.cpp
@@ -8,6 +8,7 @@
#include <algorithm>
#include <memory>
+#include <numeric>
#include <utility>
#include <vector>
@@ -634,13 +635,11 @@
return nullptr;
pCachedBitmap->Clear(0xFFFFFFFF);
+ // Fill |output_offsets| with 0, 1, ... N.
std::vector<uint8_t> output_offsets(components);
- for (uint32_t i = 0; i < components; ++i)
- output_offsets[i] = i;
- if (bSwapRGB) {
- output_offsets[0] = 2;
- output_offsets[2] = 0;
- }
+ std::iota(output_offsets.begin(), output_offsets.end(), 0);
+ if (bSwapRGB)
+ std::swap(output_offsets[0], output_offsets[2]);
if (!decoder->Decode(pCachedBitmap->GetBuffer(), pCachedBitmap->GetPitch(),
output_offsets)) {
return nullptr;
diff --git a/core/fpdfapi/render/cpdf_renderstatus.cpp b/core/fpdfapi/render/cpdf_renderstatus.cpp
index fce4392..cf7e5b2 100644
--- a/core/fpdfapi/render/cpdf_renderstatus.cpp
+++ b/core/fpdfapi/render/cpdf_renderstatus.cpp
@@ -10,6 +10,7 @@
#include <cmath>
#include <limits>
#include <memory>
+#include <numeric>
#include <set>
#include <utility>
#include <vector>
@@ -1654,9 +1655,8 @@
transfers[i] = FXSYS_roundf(results[0] * 255);
}
} else {
- for (int i = 0; i < 256; i++) {
- transfers[i] = i;
- }
+ // Fill |transfers| with 0, 1, ... N.
+ std::iota(transfers.begin(), transfers.end(), 0);
}
if (bLuminosity) {
int Bpp = bitmap->GetBPP() / 8;