From ca1926bf14a6ec1127e5bb33e6ef44c8d21641a3 Mon Sep 17 00:00:00 2001 From: cherylEnkidu Date: Thu, 3 Jul 2025 18:10:42 -0400 Subject: [PATCH 1/4] add changelog --- Firestore/CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Firestore/CHANGELOG.md b/Firestore/CHANGELOG.md index bcb63c64c11..4a3531ff0c1 100644 --- a/Firestore/CHANGELOG.md +++ b/Firestore/CHANGELOG.md @@ -1,3 +1,6 @@ +# Unreleased +- [changed] Drop C++14 support, Firestore SDK now requires at least C++17. +- # 11.12.0 - [fixed] Fixed the `null` value handling in `isNotEqualTo` and `notIn` filters. From f2a41cb83a9eece8d63962fc84cf29ceaf75b827 Mon Sep 17 00:00:00 2001 From: cherylEnkidu <96084918+cherylEnkidu@users.noreply.github.com> Date: Fri, 4 Jul 2025 14:05:34 -0400 Subject: [PATCH 2/4] Upgrade c++14 to c++17 in cmake (#15073) --- .../src/local/leveldb_remote_document_cache.cc | 4 ++-- .../test/unit/util/iterator_adaptors_test.cc | 17 ++++++++++++++--- cmake/compiler_setup.cmake | 4 ++-- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/Firestore/core/src/local/leveldb_remote_document_cache.cc b/Firestore/core/src/local/leveldb_remote_document_cache.cc index 73342b886e9..c8120e886f0 100644 --- a/Firestore/core/src/local/leveldb_remote_document_cache.cc +++ b/Firestore/core/src/local/leveldb_remote_document_cache.cc @@ -193,8 +193,8 @@ MutableDocumentMap LevelDbRemoteDocumentCache::GetAllExisting( tasks.AwaitAll(); MutableDocumentMap map; - for (const auto& entry : results.Result()) { - map = map.insert(entry.first, entry.second); + for (const auto& [key, doc] : results.Result()) { + map = map.insert(key, doc); } return map; } diff --git a/Firestore/core/test/unit/util/iterator_adaptors_test.cc b/Firestore/core/test/unit/util/iterator_adaptors_test.cc index 6774d3b260f..1b77e515d07 100644 --- a/Firestore/core/test/unit/util/iterator_adaptors_test.cc +++ b/Firestore/core/test/unit/util/iterator_adaptors_test.cc @@ -82,8 +82,14 @@ class IteratorAdaptorTest : public testing::Test { } template - class InlineStorageIter : public std::iterator { + class InlineStorageIter { public: + using iterator_category = std::input_iterator_tag; + using value_type = T; + using difference_type = std::ptrdiff_t; + using pointer = T*; + using reference = T&; + T* operator->() const { return get(); } @@ -567,9 +573,14 @@ TEST_F(IteratorAdaptorTest, IteratorPtrHasRandomAccessMethods) { EXPECT_EQ(88, value2); } -class MyInputIterator - : public std::iterator { +class MyInputIterator { public: + using iterator_category = std::input_iterator_tag; + using value_type = const int*; + using difference_type = std::ptrdiff_t; + using pointer = const int**; + using reference = const int*; + explicit MyInputIterator(int* x) : x_(x) { } const int* operator*() const { diff --git a/cmake/compiler_setup.cmake b/cmake/compiler_setup.cmake index f214c55ca66..a5b9cfe93d0 100644 --- a/cmake/compiler_setup.cmake +++ b/cmake/compiler_setup.cmake @@ -16,8 +16,8 @@ include(CheckCXXCompilerFlag) # C++ Compiler setup -# We use C++14 -set(CMAKE_CXX_STANDARD 14) +# We use C++17 +set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) From 97689f5652b79fb12397c67c57e29a80d5510826 Mon Sep 17 00:00:00 2001 From: cherylEnkidu Date: Fri, 4 Jul 2025 17:00:34 -0400 Subject: [PATCH 3/4] remove white space --- Firestore/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firestore/CHANGELOG.md b/Firestore/CHANGELOG.md index 4a3531ff0c1..8d4ecc56f60 100644 --- a/Firestore/CHANGELOG.md +++ b/Firestore/CHANGELOG.md @@ -1,6 +1,6 @@ # Unreleased - [changed] Drop C++14 support, Firestore SDK now requires at least C++17. -- + # 11.12.0 - [fixed] Fixed the `null` value handling in `isNotEqualTo` and `notIn` filters. From 35f936acf875bb1b50dfc30cf467d9114c001ff8 Mon Sep 17 00:00:00 2001 From: cherylEnkidu Date: Tue, 8 Jul 2025 16:34:08 -0400 Subject: [PATCH 4/4] remove c++17 feature --- Firestore/core/src/local/leveldb_remote_document_cache.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firestore/core/src/local/leveldb_remote_document_cache.cc b/Firestore/core/src/local/leveldb_remote_document_cache.cc index c8120e886f0..73342b886e9 100644 --- a/Firestore/core/src/local/leveldb_remote_document_cache.cc +++ b/Firestore/core/src/local/leveldb_remote_document_cache.cc @@ -193,8 +193,8 @@ MutableDocumentMap LevelDbRemoteDocumentCache::GetAllExisting( tasks.AwaitAll(); MutableDocumentMap map; - for (const auto& [key, doc] : results.Result()) { - map = map.insert(key, doc); + for (const auto& entry : results.Result()) { + map = map.insert(entry.first, entry.second); } return map; }