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_variant.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 <
variant
>
16
17
#include <
seqan3/core/detail/debug_stream_type.hpp
>
18
#include <
seqan3/core/type_traits/basic.hpp
>
19
#include <
seqan3/core/type_traits/template_inspection.hpp
>
20
21
namespace
seqan3
22
{
36
template
<
typename
char
_t,
typename
variant_type>
38
requires detail::is_type_specialisation_of_v<std::remove_cvref_t<variant_type>,
std::variant
>
40
inline
debug_stream_type<char_t>
&
operator<<
(
debug_stream_type<char_t>
& s, variant_type && v)
41
{
42
if
(!v.valueless_by_exception())
43
std::visit
([&s] (
auto
&& arg) {s << arg;}, v);
44
else
45
s <<
"<VALUELESS_VARIANT>"
;
46
return
s;
47
}
48
50
51
}
// namespace seqan3
basic.hpp
Provides various type traits on generic types.
template_inspection.hpp
Provides seqan3::type_list and auxiliary type traits.
debug_stream_type.hpp
Provides seqan3::debug_stream and related types.
seqan3::debug_stream_type
A "pretty printer" for most SeqAn data structures and related types.
Definition:
debug_stream_type.hpp:71
seqan3
The main SeqAn3 namespace.
Definition:
aligned_sequence_concept.hpp:29
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::visit
T visit(T... args)
variant
Version:
main_user
main_dev
3.4.0
3.3.0
3.2.0
3.1.0
3.0.3
3.0.2
3.0.1
3.0.0
seqan3
core
detail
debug_stream_variant.hpp
Generated on Thu Dec 3 2020 18:58:18 for SeqAn3 by
1.8.20