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
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 Mon Mar 4 2024 20:37:00 for SeqAn3 by
1.9.8