diff --git a/include/seqan3/utility/concept.hpp b/include/seqan3/utility/concept.hpp index 0c5c69e0ef..10e6167f29 100644 --- a/include/seqan3/utility/concept.hpp +++ b/include/seqan3/utility/concept.hpp @@ -134,7 +134,7 @@ concept trivially_copyable = std::copyable && std::is_trivially_copyable_v */ //!\cond template -concept trivial = trivially_copyable && trivially_destructible && std::is_trivial_v; +concept trivial = trivially_copyable && trivially_destructible && std::is_trivially_default_constructible_v; //!\endcond /*!\interface seqan3::standard_layout diff --git a/include/seqan3/utility/tuple/pod_tuple.hpp b/include/seqan3/utility/tuple/pod_tuple.hpp index c158677831..25718f6281 100644 --- a/include/seqan3/utility/tuple/pod_tuple.hpp +++ b/include/seqan3/utility/tuple/pod_tuple.hpp @@ -12,6 +12,7 @@ #include #include +#include #include namespace seqan3 @@ -46,7 +47,7 @@ struct pod_tuple template struct pod_tuple { - static_assert(std::is_standard_layout_v && std::is_trivial_v, SEQAN_NOT_POD); + static_assert(std::is_standard_layout_v && seqan3::trivial, SEQAN_NOT_POD); //!\cond DEV //!\brief The first element as member. type0 _head; @@ -114,7 +115,7 @@ struct pod_tuple template struct pod_tuple { - static_assert(std::is_standard_layout_v && std::is_trivial_v, SEQAN_NOT_POD); + static_assert(std::is_standard_layout_v && seqan3::trivial, SEQAN_NOT_POD); //!\cond DEV //!\brief The first element as member. type0 _head; diff --git a/test/snippet/utility/tuple/pod_tuple.cpp b/test/snippet/utility/tuple/pod_tuple.cpp index dde98c8b32..217f24d2b9 100644 --- a/test/snippet/utility/tuple/pod_tuple.cpp +++ b/test/snippet/utility/tuple/pod_tuple.cpp @@ -9,7 +9,7 @@ int main() { seqan3::pod_tuple tuple1{3, 4.7}; static_assert(std::is_standard_layout_v>); - static_assert(std::is_trivial_v>); + static_assert(seqan3::trivial>); seqan3::debug_stream << std::get(tuple1) << '\n'; // 3 // template parameters are automatically deduced: diff --git a/test/unit/alphabet/adaptation/char_test.cpp b/test/unit/alphabet/adaptation/char_test.cpp index a916f57def..32adde8a4f 100644 --- a/test/unit/alphabet/adaptation/char_test.cpp +++ b/test/unit/alphabet/adaptation/char_test.cpp @@ -29,7 +29,7 @@ TYPED_TEST(char_adaptation, type_properties) { EXPECT_TRUE((std::is_trivially_copyable_v)); EXPECT_TRUE((std::is_trivially_default_constructible_v)); - EXPECT_TRUE((std::is_trivial_v)); + EXPECT_TRUE((seqan3::trivial)); } TYPED_TEST(char_adaptation, alphabet_char_t) diff --git a/test/unit/alphabet/adaptation/uint_test.cpp b/test/unit/alphabet/adaptation/uint_test.cpp index dfa8f0f9a0..f9a70e39c8 100644 --- a/test/unit/alphabet/adaptation/uint_test.cpp +++ b/test/unit/alphabet/adaptation/uint_test.cpp @@ -32,7 +32,7 @@ TYPED_TEST(uint_adaptation, type_properties) { EXPECT_TRUE((std::is_trivially_copyable_v)); EXPECT_TRUE((std::is_trivially_default_constructible_v)); - EXPECT_TRUE((std::is_trivial_v)); + EXPECT_TRUE((seqan3::trivial)); } TYPED_TEST(uint_adaptation, alphabet_rank_t) diff --git a/test/unit/alphabet/aminoacid/aminoacid_test_template.hpp b/test/unit/alphabet/aminoacid/aminoacid_test_template.hpp index e3512a0bb7..cf8c1e36e4 100644 --- a/test/unit/alphabet/aminoacid/aminoacid_test_template.hpp +++ b/test/unit/alphabet/aminoacid/aminoacid_test_template.hpp @@ -17,7 +17,7 @@ TYPED_TEST_SUITE_P(aminoacid); TYPED_TEST_P(aminoacid, concept_check) { - EXPECT_TRUE(std::is_trivial_v); + EXPECT_TRUE(seqan3::trivial); EXPECT_TRUE(seqan3::aminoacid_alphabet); EXPECT_TRUE(seqan3::aminoacid_alphabet); diff --git a/test/unit/alphabet/nucleotide/nucleotide_test_template.hpp b/test/unit/alphabet/nucleotide/nucleotide_test_template.hpp index 02598ae777..512f8beb8e 100644 --- a/test/unit/alphabet/nucleotide/nucleotide_test_template.hpp +++ b/test/unit/alphabet/nucleotide/nucleotide_test_template.hpp @@ -16,7 +16,7 @@ TYPED_TEST_SUITE_P(nucleotide); TYPED_TEST_P(nucleotide, concept_check) { - EXPECT_TRUE(std::is_trivial_v); + EXPECT_TRUE(seqan3::trivial); EXPECT_TRUE(seqan3::nucleotide_alphabet); EXPECT_TRUE(seqan3::nucleotide_alphabet); diff --git a/test/unit/alphabet/quality/phred_test_template.hpp b/test/unit/alphabet/quality/phred_test_template.hpp index 0186dbda70..e66375d25c 100644 --- a/test/unit/alphabet/quality/phred_test_template.hpp +++ b/test/unit/alphabet/quality/phred_test_template.hpp @@ -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); + EXPECT_TRUE(seqan3::trivial); EXPECT_TRUE(seqan3::quality_alphabet); EXPECT_TRUE(seqan3::quality_alphabet); diff --git a/test/unit/utility/tuple/pod_tuple_test.cpp b/test/unit/utility/tuple/pod_tuple_test.cpp index c1f2b4178f..3afe66eb9e 100644 --- a/test/unit/utility/tuple/pod_tuple_test.cpp +++ b/test/unit/utility/tuple/pod_tuple_test.cpp @@ -6,7 +6,6 @@ #include -#include #include using tuple_t = seqan3::pod_tuple;