diff --git a/include/seqan3/contrib/sdsl-lite.hpp b/include/seqan3/contrib/sdsl-lite.hpp index 6cbd33b7af..f592c91fc4 100644 --- a/include/seqan3/contrib/sdsl-lite.hpp +++ b/include/seqan3/contrib/sdsl-lite.hpp @@ -10,6 +10,7 @@ // * All comments were removed. // * "SDSL_" was replaced with "SDSL3_". This affects macros and include guards. // * The namespace was changed from "sdsl" to "seqan3::contrib::sdsl". +// * "std::is_trivial" was replaced with "is_trivially_default_constructible && is_trivially_copyable". #pragma once @@ -3170,7 +3171,7 @@ serialize(X const & x, std::ostream & out, structure_tree_node * v = nullptr, st return x.serialize(out, v, name); } template -typename std::enable_if::value && std::is_trivial::value, uint64_t>::type +typename std::enable_if::value && std::is_trivially_default_constructible::value && std::is_trivially_copyable::value, uint64_t>::type serialize(X const & x, std::ostream & out, structure_tree_node * v = nullptr, std::string name = "") { return write_member(x, out, v, name); @@ -3187,7 +3188,7 @@ typename std::enable_if::value, void>::type load(X & x, std::istream x.load(in); } template -typename std::enable_if::value && std::is_trivial::value, void>::type +typename std::enable_if::value && std::is_trivially_default_constructible::value && std::is_trivially_copyable::value, void>::type load(X & x, std::istream & in) { read_member(x, in); diff --git a/test/scripts/amalgamate-sdsl.sh b/test/scripts/amalgamate-sdsl.sh index 39ff0b4ef1..a884fa5d78 100755 --- a/test/scripts/amalgamate-sdsl.sh +++ b/test/scripts/amalgamate-sdsl.sh @@ -50,6 +50,10 @@ CONTENT=${CONTENT//SDSL_/SDSL3_} CONTENT=${CONTENT//namespace sdsl/namespace seqan3::contrib::sdsl} CONTENT=${CONTENT//sdsl::/seqan3::contrib::sdsl::} +## Patches +# [C++26] `std::is_trivial` is deprecated: use `is_trivially_default_constructible && is_trivially_copyable` instead +CONTENT=${CONTENT//std::is_trivial::value/std::is_trivially_default_constructible::value \&\& std::is_trivially_copyable::value} + cat < sdsl-lite.hpp // SPDX-FileCopyrightText: 2016 SDSL Project Authors // SPDX-License-Identifier: BSD-3-Clause @@ -63,6 +67,7 @@ cat < sdsl-lite.hpp // * All comments were removed. // * "SDSL_" was replaced with "SDSL3_". This affects macros and include guards. // * The namespace was changed from "sdsl" to "seqan3::contrib::sdsl". +// * "std::is_trivial" was replaced with "is_trivially_default_constructible && is_trivially_copyable". #pragma once