SeqAn3
3.0.2
The Modern C++ library for sequence analysis.
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
concept.hpp
Go to the documentation of this file.
1
// -----------------------------------------------------------------------------------------------------
2
// Copyright (c) 2006-2020, Knut Reinert & Freie Universität Berlin
3
// Copyright (c) 2016-2020, Knut Reinert & MPI für molekulare Genetik
4
// This file may be used, modified and/or redistributed under the terms of the 3-clause BSD-License
5
// shipped with this file and also available at: https://github.com/seqan/seqan3/blob/master/LICENSE.md
6
// -----------------------------------------------------------------------------------------------------
7
13
#pragma once
14
15
#include <
functional
>
16
#include <type_traits>
17
18
#include <meta/meta.hpp>
19
20
#include <
seqan3/core/type_traits/template_inspection.hpp
>
21
#include <
seqan3/std/concepts
>
22
23
namespace
seqan3
24
{
26
// Forward declarations
27
template
<
typename
derived_t,
typename
value_t =
void
>
28
struct
pipeable_config_element;
30
}
31
32
namespace
seqan3::detail
33
{
34
35
// ----------------------------------------------------------------------------
36
// Concept config_element_specialisation
37
// ----------------------------------------------------------------------------
38
40
template
<
typename
derived_t>
41
class
config_element_base;
43
60
template
<
typename
config_t>
63
SEQAN3_CONCEPT config_element_specialisation = std::semiregular<std::remove_reference_t<config_t>> &&
64
requires (config_t c)
65
{
66
{
std::remove_reference_t<config_t>::id
};
67
};
69
70
}
// namespace seqan3::detail
functional
template_inspection.hpp
Provides seqan3::type_list and auxiliary type traits.
concepts
The Concepts library.
seqan3
The main SeqAn3 namespace.
Definition:
aligned_sequence_concept.hpp:29
std::remove_reference_t
seqan3
core
algorithm
concept.hpp
Generated on Thu Dec 3 2020 18:58:18 for SeqAn3 by
1.8.20