SeqAn3
3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
transformation_trait_or.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
12
#include <
type_traits
>
13
14
#include <
seqan3/utility/type_traits/concept.hpp
>
15
16
namespace
seqan3::detail
17
{
18
38
template
<
typename
type_t,
typename
default_t>
39
using
transformation_trait_or
=
std::conditional_t<transformation_trait<type_t>
,
// check if type_t::type exists
40
type_t,
// if yes, return type_t
41
std::type_identity<default_t>
>;
// else return default_t as trait
42
47
template
<
typename
type_t,
typename
default_t>
48
using
transformation_trait_or_t
=
typename
transformation_trait_or<type_t, default_t>::type
;
49
50
}
// namespace seqan3::detail
std::conditional_t
seqan3::detail::transformation_trait_or_t
typename transformation_trait_or< type_t, default_t >::type transformation_trait_or_t
Helper type of seqan3::detail::transformation_trait_or (transformation_trait shortcut).
Definition
transformation_trait_or.hpp:48
seqan3::detail
The internal SeqAn3 namespace.
Definition
aligned_sequence_concept.hpp:26
std::type_identity
type_traits
concept.hpp
Provides the concepts seqan3::transformation_trait and seqan3::unary_type_trait.
Hide me
Version:
seqan3
utility
type_traits
detail
transformation_trait_or.hpp
Generated on Wed May 29 2024 08:53:18 for SeqAn3 by
1.9.8