SeqAn3
3.0.1
The Modern C++ library for sequence analysis.
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
convert.hpp
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
15
#pragma once
16
17
#include <
array
>
18
19
#include <
seqan3/alphabet/concept.hpp
>
20
21
// ============================================================================
22
// conversion to/from char/rank types
23
// ============================================================================
24
25
namespace
seqan3::detail
26
{
27
34
template
<alphabet out_t, alphabet in_t>
35
constexpr
std::array<out_t, alphabet_size<in_t>
> convert_through_char_representation
36
{
37
[] () constexpr
38
{
39
std::array<out_t, alphabet_size<in_t>
> ret{};
40
// for (decltype(alphabet_size<in_t>) i = 0; ...) causes indefinite compilation :(
41
for
(
auto
i = decltype(alphabet_size<in_t>){0}; i < alphabet_size<in_t>; ++i)
42
assign_char_to
(
to_char
(
assign_rank_to
(i, in_t{})), ret[i]);
43
return
ret;
44
}()
45
};
46
47
}
// namespace seqan3::detail
seqan3::assign_rank_to
constexpr auto assign_rank_to
Assign a rank to an alphabet object.
Definition:
concept.hpp:238
seqan3::to_char
constexpr auto to_char
Return the char representation of an alphabet object.
Definition:
concept.hpp:320
array
seqan3::assign_char_to
constexpr auto assign_char_to
Assign a character to an alphabet object.
Definition:
concept.hpp:416
concept.hpp
Core alphabet concept and free function/type trait wrappers.
seqan3
alphabet
detail
convert.hpp
Generated on Tue Feb 18 2020 09:33:18 for SeqAn3 by
1.8.16