SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
debug_stream_simd.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2006-2024 Knut Reinert & Freie Universität Berlin
2// SPDX-FileCopyrightText: 2016-2024 Knut Reinert & MPI für molekulare Genetik
3// SPDX-License-Identifier: BSD-3-Clause
4
10#pragma once
11
16
17namespace seqan3
18{
19
23template <typename char_t, typename simd_t>
24 requires simd::simd_concept<std::remove_cvref_t<simd_t>>
26{
28 constexpr size_t length = simd::simd_traits<simd_type>::length;
29 using scalar_type = typename simd::simd_traits<simd_type>::scalar_type;
30
32 for (size_t i = 0; i < length; ++i)
33 array[i] = simd[i];
34 s << array;
35 return s;
36}
37
38} // namespace seqan3
A "pretty printer" for most SeqAn data structures and related types.
Definition debug_stream_type.hpp:75
Provides seqan3::debug_stream and related types.
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:107
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
Provides seqan3::debug_stream and related types.
Provides seqan3::simd::simd_traits.
seqan3::simd::simd_traits is the trait class that provides uniform interface to the properties of sim...
Definition simd_traits.hpp:38
IMPLEMENTATION_DEFINED scalar_type
The underlying type of a simd vector (is not defined if simd_t does not model seqan3::simd::simd)
Definition simd_traits.hpp:42
seqan3::simd::simd_type encapsulates simd vector types, which can be manipulated by simd operations.
Definition simd.hpp:46
Provides seqan3::simd::simd_concept.
Hide me