Skip to content

Commit 47f21ca

Browse files
committed
chore: bump C++ standard to 23
1 parent c00ee8f commit 47f21ca

File tree

15 files changed

+20
-3034
lines changed

15 files changed

+20
-3034
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.

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
@@ -210,6 +210,8 @@ class AvroBatchReader::Impl {
210210
std::unique_ptr<ReadContext> context_;
211211
};
212212

213+
AvroBatchReader::~AvroBatchReader() = default;
214+
213215
Result<Reader::Data> AvroBatchReader::Next() { return impl_->Next(); }
214216

215217
Status AvroBatchReader::Open(const ReaderOptions& options) {

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 AvroBatchReader : public Reader {
2929
public:
3030
AvroBatchReader() = default;
3131

32-
~AvroBatchReader() override = default;
32+
~AvroBatchReader() 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)