From a9efac44b0dd145240e0353d5ca74e907a0d6436 Mon Sep 17 00:00:00 2001 From: metabeyond Date: Thu, 14 Nov 2024 14:04:22 +0800 Subject: [PATCH] Resolved issues for Clang Minimum Clang Version: 17 (Support for Class Template Argument Deduction for Aggregates) --- include/essence/io/cmrc_fs_operator.hpp | 1 + include/essence/io/spanstream.hpp | 6 +++--- include/essence/meta/detail/fake_object_wrapper.hpp | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/essence/io/cmrc_fs_operator.hpp b/include/essence/io/cmrc_fs_operator.hpp index a1bcc64..d01213e 100644 --- a/include/essence/io/cmrc_fs_operator.hpp +++ b/include/essence/io/cmrc_fs_operator.hpp @@ -27,6 +27,7 @@ #include "spanstream.hpp" #include +#include #include #include #include diff --git a/include/essence/io/spanstream.hpp b/include/essence/io/spanstream.hpp index fe669eb..3734e13 100644 --- a/include/essence/io/spanstream.hpp +++ b/include/essence/io/spanstream.hpp @@ -49,7 +49,7 @@ namespace essence::io { template > struct basic_ispanstream : basic_spanstream_impl, std::ios_base::in> { using base_type = basic_spanstream_impl, std::ios_base::in>; - using base_type::basic_spanstream_impl; + using base_type::base_type; template requires( @@ -73,7 +73,7 @@ namespace essence::io { template > struct basic_ospanstream : basic_spanstream_impl, std::ios_base::out> { using base_type = basic_spanstream_impl, std::ios_base::out>; - using base_type::basic_spanstream_impl; + using base_type::base_type; [[nodiscard]] std::span span() const noexcept { return this->spanbuf_.span(); @@ -85,7 +85,7 @@ namespace essence::io { : basic_spanstream_impl, std::ios_base::in | std::ios_base::out> { using base_type = basic_spanstream_impl, std::ios_base::in | std::ios_base::out>; - using base_type::basic_spanstream_impl; + using base_type::base_type; [[nodiscard]] std::span span() const noexcept { return this->spanbuf_.span(); diff --git a/include/essence/meta/detail/fake_object_wrapper.hpp b/include/essence/meta/detail/fake_object_wrapper.hpp index d5ebc9a..a5620e7 100644 --- a/include/essence/meta/detail/fake_object_wrapper.hpp +++ b/include/essence/meta/detail/fake_object_wrapper.hpp @@ -52,7 +52,7 @@ namespace essence::meta::detail { template consteval auto make_fake_object_wrapper(const T& obj) noexcept { - return fake_object_wrapper{obj}; + return fake_object_wrapper{obj}.value; } #ifdef _MSC_VER