SeqAn3 3.3.0-rc.1
The Modern C++ library for sequence analysis.
debug_stream_simd.hpp
Go to the documentation of this file.
1// -----------------------------------------------------------------------------------------------------
2// Copyright (c) 2006-2022, Knut Reinert & Freie Universität Berlin
3// Copyright (c) 2016-2022, 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
19
20namespace seqan3
21{
22
30template <typename char_t, typename simd_t>
31 requires simd::simd_concept<std::remove_cvref_t<simd_t>>
33{
35 constexpr size_t length = simd::simd_traits<simd_type>::length;
36 using scalar_type = typename simd::simd_traits<simd_type>::scalar_type;
37
39 for (size_t i = 0; i < length; ++i)
40 array[i] = simd[i];
41 s << array;
42 return s;
43}
44
45} // namespace seqan3
A "pretty printer" for most SeqAn data structures and related types.
Definition: debug_stream_type.hpp:78
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:110
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
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:41
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:45
seqan3::simd::simd_type encapsulates simd vector types, which can be manipulated by simd operations.
Definition: simd.hpp:49
Provides seqan3::simd::simd_concept.