SeqAn3 3.4.0-rc.4
The Modern C++ library for sequence analysis.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
debug_stream_simd.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
10#pragma once
11
16
17namespace seqan3
18{
19
24template <simd::simd_concept simd_t>
25struct simd_printer<simd_t>
26{
33 template <typename stream_t, typename arg_t>
34 constexpr void operator()(stream_t & stream, arg_t && arg) const
35 {
36 constexpr size_t length = simd::simd_traits<simd_t>::length;
37 using scalar_type = typename simd::simd_traits<simd_t>::scalar_type;
38
40 for (size_t i = 0; i < length; ++i)
41 array[i] = arg[i];
42 stream << array;
43 }
44};
45
46} // namespace seqan3
Provides seqan3::debug_stream and related types.
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
constexpr void operator()(stream_t &stream, arg_t &&arg) const
Prints the simd value.
Definition debug_stream_simd.hpp:34
Definition default_printer.hpp:44
Provides seqan3::simd::simd_concept.
Hide me