SeqAn3
3.4.0
The Modern C++ library for sequence analysis.
Toggle main menu visibility
Loading...
Searching...
No Matches
record_like.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 <
seqan3/io/record.hpp
>
13
#include <
seqan3/utility/tuple/concept.hpp
>
14
15
namespace
seqan3::detail
16
{
17
20
template
<
typename
record_t>
21
struct
is_derived_from_record
22
{
23
private
:
25
static
std::false_type derived_from(...);
26
28
template
<
typename
... args_t>
29
static
std::true_type derived_from(seqan3::record<args_t...> &);
30
31
public
:
33
static
constexpr
bool
value =
decltype
(derived_from(
std::declval<record_t &>
())){};
34
};
35
41
template
<
typename
record_t>
42
concept
record_like = tuple_like<record_t> && is_derived_from_record<std::remove_cvref_t<record_t>>::value;
44
}
// namespace seqan3::detail
std::declval
T declval(T... args)
record.hpp
Provides the seqan3::record template and the seqan3::field enum.
concept.hpp
Provides seqan3::tuple_like.
Hide me
Version:
seqan3
io
detail
record_like.hpp
Generated on
for SeqAn3 by
1.17.0