SeqAn3
3.4.0
The Modern C++ library for sequence analysis.
Toggle main menu visibility
Loading...
Searching...
No Matches
alphabet/detail/concept.hpp
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: 2006-2025 Knut Reinert & Freie Universität Berlin
2
// SPDX-FileCopyrightText: 2016-2025 Knut Reinert & MPI für molekulare Genetik
3
// SPDX-License-Identifier: BSD-3-Clause
4
9
10
#pragma once
11
12
#include <concepts>
13
14
#include <
seqan3/alphabet/concept.hpp
>
15
#include <
seqan3/core/platform.hpp
>
16
17
namespace
seqan3::detail
18
{
26
template
<
class
T,
class
U>
27
concept
weakly_equality_comparable_with =
28
requires
(std::remove_reference_t<T>
const
& t, std::remove_reference_t<U>
const
& u) {
29
requires
std::convertible_to<
decltype
(t == u),
bool
>;
30
requires
std::convertible_to<
decltype
(t != u),
bool
>;
31
requires
std::convertible_to<
decltype
(u == t),
bool
>;
32
requires
std::convertible_to<
decltype
(u != t),
bool
>;
33
};
35
43
template
<
typename
t1,
typename
t2>
44
concept
weakly_ordered_with =
45
requires
(std::remove_reference_t<t1>
const
& v1, std::remove_reference_t<t2>
const
& v2) {
46
requires
std::convertible_to<
decltype
(v1 < v2), bool>;
47
requires
std::convertible_to<
decltype
(v1 <= v2), bool>;
48
requires
std::convertible_to<
decltype
(v1 > v2),
bool
>;
49
requires
std::convertible_to<
decltype
(v1 >= v2),
bool
>;
50
51
requires
std::convertible_to<
decltype
(v2 < v1), bool>;
52
requires
std::convertible_to<
decltype
(v2 <= v1), bool>;
53
requires
std::convertible_to<
decltype
(v2 > v1),
bool
>;
54
requires
std::convertible_to<
decltype
(v2 >= v1),
bool
>;
55
};
57
67
template
<
typename
from_t,
typename
to_t>
68
concept
convertable_to_through_char_representation =
69
alphabet<from_t> && alphabet<to_t> && std::default_initializable<from_t>;
71
72
}
// namespace seqan3::detail
concept.hpp
Core alphabet concept and free function/type trait wrappers.
platform.hpp
Provides platform and dependency checks.
Hide me
Version:
seqan3
alphabet
detail
concept.hpp
Generated on
for SeqAn3 by
1.17.0