Skip to content

Commit e297232

Browse files
committed
chore: bump C++ standard to 23
1 parent 0779a52 commit e297232

File tree

17 files changed

+22
-3036
lines changed

17 files changed

+22
-3036
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ project(Iceberg
2828
DESCRIPTION "Iceberg C++ Project"
2929
LANGUAGES CXX)
3030

31-
set(CMAKE_CXX_STANDARD 20)
31+
set(CMAKE_CXX_STANDARD 23)
3232
set(CMAKE_CXX_STANDARD_REQUIRED ON)
3333
set(CMAKE_CXX_EXTENSIONS OFF)
3434
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

LICENSE

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -202,34 +202,6 @@
202202

203203
--------------------------------------------------------------------------------
204204

205-
The file src/iceberg/expected.h contains code adapted from
206-
207-
https://github.com/zeus-cpp/expected
208-
209-
with the following license (MIT)
210-
211-
Copyright (c) 2024 zeus-cpp
212-
213-
Permission is hereby granted, free of charge, to any person obtaining a copy
214-
of this software and associated documentation files (the "Software"), to deal
215-
in the Software without restriction, including without limitation the rights
216-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
217-
copies of the Software, and to permit persons to whom the Software is
218-
furnished to do so, subject to the following conditions:
219-
220-
The above copyright notice and this permission notice shall be included in all
221-
copies or substantial portions of the Software.
222-
223-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
224-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
225-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
226-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
227-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
228-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
229-
SOFTWARE.
230-
231-
--------------------------------------------------------------------------------
232-
233205
3rdparty dependency nlohmann-json is statically linked in certain binary
234206
distributions. nlohmann-json has the following license:
235207

NOTICE

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,6 @@ Copyright 2024-2025 The Apache Software Foundation
44
This product includes software developed at
55
The Apache Software Foundation (http://www.apache.org/).
66

7-
This product includes code from zeus-cpp
8-
* Copyright (c) 2024 zeus-cpp
9-
* https://github.com/zeus-cpp/expected
10-
117
This product includes code from smhasher
128
* MurmurHash3 was written by Austin Appleby, and is placed in the public
139
* domain. The author hereby disclaims copyright to this source code.

cmake_modules/IcebergThirdpartyToolchain.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ function(resolve_arrow_dependency)
9999
fetchcontent_declare(VendoredArrow
100100
${FC_DECLARE_COMMON_OPTIONS}
101101
GIT_REPOSITORY https://github.com/apache/arrow.git
102-
GIT_TAG 5f0aeb5de53fb25b59a52661a80071faef99a4a4
102+
GIT_TAG e411851738c2528a5ce24857805e0eac57e2c659
103103
#URL ${ARROW_SOURCE_URL}
104104
#URL_HASH "SHA256=${ICEBERG_ARROW_BUILD_SHA256_CHECKSUM}"
105105
SOURCE_SUBDIR

example/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ cmake_minimum_required(VERSION 3.25)
2020

2121
project(example)
2222

23-
set(CMAKE_CXX_STANDARD 20)
23+
set(CMAKE_CXX_STANDARD 23)
2424

2525
find_package(Iceberg CONFIG REQUIRED)
2626

src/iceberg/arrow/arrow_error_transform_internal.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ inline ErrorKind ToErrorKind(const ::arrow::Status& status) {
3838
#define ICEBERG_ARROW_ASSIGN_OR_RETURN_IMPL(result_name, lhs, rexpr, error_transform) \
3939
auto&& result_name = (rexpr); \
4040
if (!result_name.ok()) { \
41-
return unexpected<Error>{{.kind = error_transform(result_name.status()), \
42-
.message = result_name.status().ToString()}}; \
41+
return std::unexpected<Error>{{.kind = error_transform(result_name.status()), \
42+
.message = result_name.status().ToString()}}; \
4343
} \
4444
lhs = std::move(result_name).ValueOrDie();
4545

@@ -51,7 +51,7 @@ inline ErrorKind ToErrorKind(const ::arrow::Status& status) {
5151
do { \
5252
auto&& _status = (expr); \
5353
if (!_status.ok()) { \
54-
return unexpected<Error>{ \
54+
return std::unexpected<Error>{ \
5555
{.kind = ToErrorKind(_status), .message = _status.ToString()}}; \
5656
} \
5757
} while (0)

src/iceberg/avro/avro_reader.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,8 @@ class AvroReader::Impl {
227227
std::unique_ptr<ReadContext> context_;
228228
};
229229

230+
AvroReader::~AvroReader() = default;
231+
230232
Result<std::optional<ArrowArray>> AvroReader::Next() { return impl_->Next(); }
231233

232234
Result<ArrowSchema> AvroReader::Schema() { return impl_->Schema(); }

src/iceberg/avro/avro_reader.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class ICEBERG_BUNDLE_EXPORT AvroReader : public Reader {
2929
public:
3030
AvroReader() = default;
3131

32-
~AvroReader() override = default;
32+
~AvroReader() override;
3333

3434
Status Open(const ReaderOptions& options) final;
3535

src/iceberg/catalog/in_memory_catalog.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
#include <algorithm>
2323
#include <iterator> // IWYU pragma: keep
2424
#include <mutex>
25-
#include <optional>
2625
#include <unordered_map>
2726

2827
#include "iceberg/exception.h"
@@ -174,7 +173,7 @@ Result<bool> InMemoryNamespace::NamespaceExists(const Namespace& namespace_ident
174173
if (ns.error().kind == ErrorKind::kNoSuchNamespace) {
175174
return false;
176175
}
177-
return unexpected<Error>(ns.error());
176+
return std::unexpected<Error>(ns.error());
178177
}
179178

180179
Result<std::vector<Namespace>> InMemoryNamespace::ListNamespaces(

0 commit comments

Comments
 (0)