Skip to content

Commit

Permalink
Merge pull request #3319 from eseiler/fix/cpp26_deprecation
Browse files Browse the repository at this point in the history
[FIX] cpp26: std::is_trivial_v is deprecated
  • Loading branch information
eseiler authored Dec 17, 2024
2 parents 4f0c4fd + d751f83 commit 873a5f4
Show file tree
Hide file tree
Showing 9 changed files with 10 additions and 10 deletions.
2 changes: 1 addition & 1 deletion include/seqan3/utility/concept.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ concept trivially_copyable = std::copyable<t> && std::is_trivially_copyable_v<t>
*/
//!\cond
template <typename t>
concept trivial = trivially_copyable<t> && trivially_destructible<t> && std::is_trivial_v<t>;
concept trivial = trivially_copyable<t> && trivially_destructible<t> && std::is_trivially_default_constructible_v<t>;
//!\endcond

/*!\interface seqan3::standard_layout
Expand Down
5 changes: 3 additions & 2 deletions include/seqan3/utility/tuple/pod_tuple.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#include <tuple>
#include <type_traits>

#include <seqan3/utility/concept.hpp>
#include <seqan3/utility/type_pack/traits.hpp>

namespace seqan3
Expand Down Expand Up @@ -46,7 +47,7 @@ struct pod_tuple
template <typename type0, typename... types>
struct pod_tuple<type0, types...>
{
static_assert(std::is_standard_layout_v<type0> && std::is_trivial_v<type0>, SEQAN_NOT_POD);
static_assert(std::is_standard_layout_v<type0> && seqan3::trivial<type0>, SEQAN_NOT_POD);
//!\cond DEV
//!\brief The first element as member.
type0 _head;
Expand Down Expand Up @@ -114,7 +115,7 @@ struct pod_tuple<type0, types...>
template <typename type0>
struct pod_tuple<type0>
{
static_assert(std::is_standard_layout_v<type0> && std::is_trivial_v<type0>, SEQAN_NOT_POD);
static_assert(std::is_standard_layout_v<type0> && seqan3::trivial<type0>, SEQAN_NOT_POD);
//!\cond DEV
//!\brief The first element as member.
type0 _head;
Expand Down
2 changes: 1 addition & 1 deletion test/snippet/utility/tuple/pod_tuple.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ int main()
{
seqan3::pod_tuple<int, float> tuple1{3, 4.7};
static_assert(std::is_standard_layout_v<seqan3::pod_tuple<int, float>>);
static_assert(std::is_trivial_v<seqan3::pod_tuple<int, float>>);
static_assert(seqan3::trivial<seqan3::pod_tuple<int, float>>);
seqan3::debug_stream << std::get<int>(tuple1) << '\n'; // 3

// template parameters are automatically deduced:
Expand Down
2 changes: 1 addition & 1 deletion test/unit/alphabet/adaptation/char_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ TYPED_TEST(char_adaptation, type_properties)
{
EXPECT_TRUE((std::is_trivially_copyable_v<TypeParam>));
EXPECT_TRUE((std::is_trivially_default_constructible_v<TypeParam>));
EXPECT_TRUE((std::is_trivial_v<TypeParam>));
EXPECT_TRUE((seqan3::trivial<TypeParam>));
}

TYPED_TEST(char_adaptation, alphabet_char_t)
Expand Down
2 changes: 1 addition & 1 deletion test/unit/alphabet/adaptation/uint_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ TYPED_TEST(uint_adaptation, type_properties)
{
EXPECT_TRUE((std::is_trivially_copyable_v<TypeParam>));
EXPECT_TRUE((std::is_trivially_default_constructible_v<TypeParam>));
EXPECT_TRUE((std::is_trivial_v<TypeParam>));
EXPECT_TRUE((seqan3::trivial<TypeParam>));
}

TYPED_TEST(uint_adaptation, alphabet_rank_t)
Expand Down
2 changes: 1 addition & 1 deletion test/unit/alphabet/aminoacid/aminoacid_test_template.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ TYPED_TEST_SUITE_P(aminoacid);

TYPED_TEST_P(aminoacid, concept_check)
{
EXPECT_TRUE(std::is_trivial_v<TypeParam>);
EXPECT_TRUE(seqan3::trivial<TypeParam>);

EXPECT_TRUE(seqan3::aminoacid_alphabet<TypeParam>);
EXPECT_TRUE(seqan3::aminoacid_alphabet<TypeParam &>);
Expand Down
2 changes: 1 addition & 1 deletion test/unit/alphabet/nucleotide/nucleotide_test_template.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ TYPED_TEST_SUITE_P(nucleotide);

TYPED_TEST_P(nucleotide, concept_check)
{
EXPECT_TRUE(std::is_trivial_v<TypeParam>);
EXPECT_TRUE(seqan3::trivial<TypeParam>);

EXPECT_TRUE(seqan3::nucleotide_alphabet<TypeParam>);
EXPECT_TRUE(seqan3::nucleotide_alphabet<TypeParam &>);
Expand Down
2 changes: 1 addition & 1 deletion test/unit/alphabet/quality/phred_test_template.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ TYPED_TEST_SUITE_P(phred);
// test provision of data type `phred_type` and phred converter.
TYPED_TEST_P(phred, concept_check)
{
EXPECT_TRUE(std::is_trivial_v<TypeParam>);
EXPECT_TRUE(seqan3::trivial<TypeParam>);

EXPECT_TRUE(seqan3::quality_alphabet<TypeParam>);
EXPECT_TRUE(seqan3::quality_alphabet<TypeParam &>);
Expand Down
1 change: 0 additions & 1 deletion test/unit/utility/tuple/pod_tuple_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@

#include <type_traits>

#include <seqan3/utility/concept.hpp>
#include <seqan3/utility/tuple/pod_tuple.hpp>

using tuple_t = seqan3::pod_tuple<int, long, float>;
Expand Down

0 comments on commit 873a5f4

Please sign in to comment.