File: 0004-NOAPI-DETAIL-Concept-definitions.patch

package info (click to toggle)
seqan3 3.4.0%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 17,580 kB
  • sloc: cpp: 145,192; sh: 307; xml: 264; javascript: 95; makefile: 70; perl: 29; php: 15
file content (93 lines) | stat: -rw-r--r-- 3,737 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
From d5450d6435accfca62fea75dcf32689b3f96375d Mon Sep 17 00:00:00 2001
From: Enrico Seiler <enrico.seiler@hotmail.de>
Date: Mon, 13 Jun 2022 16:46:40 +0200
Subject: [PATCH 04/12] [NOAPI] [DETAIL] Concept definitions

---
 test/unit/core/detail/iterator_traits_test.cpp | 4 ++--
 test/unit/range/iterator_test_template.hpp     | 6 ++----
 test/unit/range/range_test_template.hpp        | 4 ++--
 test/unit/test/seqan2_test.cpp                 | 6 +++---
 4 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/test/unit/core/detail/iterator_traits_test.cpp b/test/unit/core/detail/iterator_traits_test.cpp
index 7ed265d98..0d6de2e0b 100644
--- a/test/unit/core/detail/iterator_traits_test.cpp
+++ b/test/unit/core/detail/iterator_traits_test.cpp
@@ -18,7 +18,7 @@
 #include <seqan3/test/expect_same_type.hpp>
 
 template <typename t>
-SEQAN3_CONCEPT has_iterator_category = requires()
+concept has_iterator_category = requires()
 {
     typename t::iterator_category;
 };
@@ -181,7 +181,7 @@ TEST(maybe_iterator_category, random_access_iterator_tag)
 }
 
 template <typename t>
-SEQAN3_CONCEPT has_iterator_concept = requires()
+concept has_iterator_concept = requires()
 {
     typename t::iterator_concept;
 };
diff --git a/test/unit/range/iterator_test_template.hpp b/test/unit/range/iterator_test_template.hpp
index 8bd1b84a8..e2c99bb6b 100644
--- a/test/unit/range/iterator_test_template.hpp
+++ b/test/unit/range/iterator_test_template.hpp
@@ -47,11 +47,9 @@ struct iterator_fixture : public ::testing::Test
 
 // Helper concept to check whether the test fixture has a member function expect_eq.
 template <typename t>
-SEQAN3_CONCEPT has_expect_equal_member_function = requires(t & a)
+concept has_expect_equal_member_function = requires(t & a)
 {
-    SEQAN3_RETURN_TYPE_CONSTRAINT(t::expect_eq(*std::ranges::begin(a.test_range),
-                                               *std::ranges::begin(a.expected_range)),
-                                  std::same_as, void);
+    {t::expect_eq(*std::ranges::begin(a.test_range), *std::ranges::begin(a.expected_range))} -> std::same_as<void>;
 };
 
 // Delegates to the test fixture member function `expect_eq` if available and falls back to EXPECT_EQ otherwise.
diff --git a/test/unit/range/range_test_template.hpp b/test/unit/range/range_test_template.hpp
index adb3163c0..ca93d166c 100644
--- a/test/unit/range/range_test_template.hpp
+++ b/test/unit/range/range_test_template.hpp
@@ -124,13 +124,13 @@ struct iterator_fixture<range_test_fixture_t> : public ::testing::Test
 TYPED_TEST_SUITE_P(range_test);
 
 template <typename range_t>
-SEQAN3_CONCEPT has_size_member = requires(range_t range)
+concept has_size_member = requires(range_t range)
 {
     { range.size() };
 };
 
 template <typename range_t>
-SEQAN3_CONCEPT has_subscript_member = requires(range_t range)
+concept has_subscript_member = requires(range_t range)
 {
     { range[0] };
 };
diff --git a/test/unit/test/seqan2_test.cpp b/test/unit/test/seqan2_test.cpp
index fd2a4beb4..e4ab46e7e 100644
--- a/test/unit/test/seqan2_test.cpp
+++ b/test/unit/test/seqan2_test.cpp
@@ -89,10 +89,10 @@ TYPED_TEST(seqan2_container, std_iterator)
 }
 
 template <typename range_t>
-SEQAN3_CONCEPT SeqAn2Range = requires(range_t range)
+concept SeqAn2Range = requires(range_t range)
 {
-    SEQAN3_RETURN_TYPE_CONSTRAINT(seqan::begin(range), std::same_as, std::ranges::iterator_t<range_t>);
-    SEQAN3_RETURN_TYPE_CONSTRAINT(seqan::end(range), std::same_as, std::ranges::iterator_t<range_t>);
+    {seqan::begin(range)} -> std::same_as<std::ranges::iterator_t<range_t>>;
+    {seqan::end(range)} -> std::same_as<std::ranges::iterator_t<range_t>>;
 };
 
 TYPED_TEST(seqan2_container, seqan_range_concept)
-- 
2.34.1