Remove explicit template argument from ScopedSetInsertion users

Update ScopedSetInsertion users to do automatic type deduction, since
modern compilers can figure it out. Whereas compilers in 2016 could not.

Change-Id: I2bf3224980eb3466b0a9542da9df351c421de2bb
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/131179
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfapi/page/cpdf_colorspace.cpp b/core/fpdfapi/page/cpdf_colorspace.cpp
index 7893df3..4a0aebe 100644
--- a/core/fpdfapi/page/cpdf_colorspace.cpp
+++ b/core/fpdfapi/page/cpdf_colorspace.cpp
@@ -512,7 +512,7 @@
     return nullptr;
   }
 
-  ScopedSetInsertion<const CPDF_Object*> insertion(pVisited, pObj);
+  ScopedSetInsertion insertion(pVisited, pObj);
 
   if (pObj->IsName()) {
     return GetStockCSForName(pObj->GetString());
diff --git a/core/fpdfapi/page/cpdf_docpagedata.cpp b/core/fpdfapi/page/cpdf_docpagedata.cpp
index c832aac..a27fcc9 100644
--- a/core/fpdfapi/page/cpdf_docpagedata.cpp
+++ b/core/fpdfapi/page/cpdf_docpagedata.cpp
@@ -310,7 +310,7 @@
     return nullptr;
   }
 
-  ScopedSetInsertion<const CPDF_Object*> insertion(pVisitedInternal, pCSObj);
+  ScopedSetInsertion insertion(pVisitedInternal, pCSObj);
 
   if (pCSObj->IsName()) {
     ByteString name = pCSObj->GetString();
diff --git a/core/fpdfapi/page/cpdf_function.cpp b/core/fpdfapi/page/cpdf_function.cpp
index 8b0ccdb..3d5d174 100644
--- a/core/fpdfapi/page/cpdf_function.cpp
+++ b/core/fpdfapi/page/cpdf_function.cpp
@@ -58,7 +58,7 @@
     return nullptr;
   }
 
-  ScopedSetInsertion<VisitedSet::value_type> insertion(pVisited, pFuncObj);
+  ScopedSetInsertion insertion(pVisited, pFuncObj);
 
   int iType = -1;
   if (const CPDF_Stream* pStream = pFuncObj->AsStream()) {
diff --git a/core/fpdfapi/page/cpdf_streamcontentparser.cpp b/core/fpdfapi/page/cpdf_streamcontentparser.cpp
index 826d7c7..3ad222b 100644
--- a/core/fpdfapi/page/cpdf_streamcontentparser.cpp
+++ b/core/fpdfapi/page/cpdf_streamcontentparser.cpp
@@ -1647,8 +1647,8 @@
 
   stream_start_offsets_ = stream_start_offsets;
 
-  ScopedSetInsertion<const uint8_t*> scoped_insert(
-      &recursion_state_->parsed_set, pDataStart.data());
+  ScopedSetInsertion scoped_insert(&recursion_state_->parsed_set,
+                                   pDataStart.data());
 
   uint32_t init_obj_count = object_holder_->GetPageObjectCount();
   AutoNuller<std::unique_ptr<CPDF_StreamParser>> auto_clearer(&syntax_);
diff --git a/core/fpdfapi/parser/cpdf_document.cpp b/core/fpdfapi/parser/cpdf_document.cpp
index add8788..e13c159 100644
--- a/core/fpdfapi/parser/cpdf_document.cpp
+++ b/core/fpdfapi/parser/cpdf_document.cpp
@@ -90,8 +90,7 @@
     NodeType kid_type = GetNodeType(kid_dict);
     if (kid_type == NodeType::kBranch) {
       // Use |visited_pages| to help detect circular references of pages.
-      ScopedSetInsertion<RetainPtr<CPDF_Dictionary>> local_add(visited_pages,
-                                                               kid_dict);
+      ScopedSetInsertion local_add(visited_pages, kid_dict);
       std::optional<int> local_count =
           CountPages(std::move(kid_dict), visited_pages);
       if (!local_count.has_value()) {
@@ -553,7 +552,7 @@
       return false;
     }
 
-    ScopedSetInsertion<RetainPtr<CPDF_Dictionary>> insertion(visited, kid_dict);
+    ScopedSetInsertion insertion(visited, kid_dict);
     if (!InsertDeletePDFPage(std::move(kid_dict), pages_to_go, page_dict,
                              is_insert, visited)) {
       return false;
diff --git a/core/fpdfapi/parser/cpdf_parser.cpp b/core/fpdfapi/parser/cpdf_parser.cpp
index 66f19e3..e181187 100644
--- a/core/fpdfapi/parser/cpdf_parser.cpp
+++ b/core/fpdfapi/parser/cpdf_parser.cpp
@@ -1070,7 +1070,7 @@
     return nullptr;
   }
 
-  ScopedSetInsertion<uint32_t> local_insert(&parsing_obj_nums_, objnum);
+  ScopedSetInsertion local_insert(&parsing_obj_nums_, objnum);
   const auto* info = cross_ref_table_->GetObjectInfo(objnum);
   if (!info) {
     return nullptr;
@@ -1119,7 +1119,7 @@
   }
 
   // Keep track of `object_number` before doing more parsing.
-  ScopedSetInsertion<uint32_t> local_insert(&parsing_obj_nums_, object_number);
+  ScopedSetInsertion local_insert(&parsing_obj_nums_, object_number);
 
   RetainPtr<CPDF_Object> object =
       ParseIndirectObjectAt(object_pos, object_number);
diff --git a/core/fxcrt/scoped_set_insertion_unittest.cpp b/core/fxcrt/scoped_set_insertion_unittest.cpp
index 6a6b990..3b188cd 100644
--- a/core/fxcrt/scoped_set_insertion_unittest.cpp
+++ b/core/fxcrt/scoped_set_insertion_unittest.cpp
@@ -4,17 +4,19 @@
 
 #include "core/fxcrt/scoped_set_insertion.h"
 
+#include <set>
+
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 TEST(fxcrt, ScopedSetInsertion) {
   std::set<int> container;
   {
-    ScopedSetInsertion<int> insertion(&container, 5);
+    ScopedSetInsertion insertion(&container, 5);
     EXPECT_THAT(container, testing::UnorderedElementsAreArray({5}));
 
     {
-      ScopedSetInsertion<int> insertion2(&container, 6);
+      ScopedSetInsertion insertion2(&container, 6);
       EXPECT_THAT(container, testing::UnorderedElementsAreArray({5, 6}));
     }