SeqAn3
3.0.2
The Modern C++ library for sequence analysis.
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
debug_stream_simd.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 <
seqan3/core/detail/debug_stream_type.hpp
>
16
#include <
seqan3/core/detail/debug_stream_range.hpp
>
17
#include <
seqan3/core/simd/concept.hpp
>
18
#include <
seqan3/core/simd/simd_traits.hpp
>
19
20
namespace
seqan3
21
{
22
30
template
<
typename
char
_t,
typename
simd_t>
32
requires simd::simd_concept<std::remove_cvref_t<simd_t>>
34
inline
debug_stream_type<char_t> &
operator<<
(debug_stream_type<char_t> & s, simd_t && simd)
35
{
36
using
simd_type =
std::remove_cvref_t<simd_t>
;
37
constexpr
size_t
length = simd::simd_traits<simd_type>::length;
38
using
scalar_type =
typename
simd::simd_traits<simd_type>::scalar_type;
39
40
std::array<scalar_type, length>
array{};
41
for
(
size_t
i = 0; i < length; ++i)
42
array[i] = simd[i];
43
s << array;
44
return
s;
45
}
46
47
}
// namespace seqan3
debug_stream_type.hpp
Provides seqan3::debug_stream and related types.
concept.hpp
Provides seqan3::simd::simd_concept.
simd_traits.hpp
Provides seqan3::simd::simd_traits.
std::array
seqan3
The main SeqAn3 namespace.
Definition:
aligned_sequence_concept.hpp:29
debug_stream_range.hpp
Provides seqan3::debug_stream and related types.
seqan3::operator<<
debug_stream_type< char_t > & operator<<(debug_stream_type< char_t > &stream, alignment_t &&alignment)
Stream operator for alignments, which are represented as tuples of aligned sequences.
Definition:
debug_stream_alignment.hpp:103
std::remove_cvref_t
seqan3
core
simd
debug_stream_simd.hpp
Generated on Thu Dec 3 2020 18:58:18 for SeqAn3 by
1.8.20