SeqAn3
3.3.0
The Modern C++ library for sequence analysis.
Toggle main menu visibility
Welcome
Setup
Quick Setup (using CMake)
Tutorial
First steps with SeqAn
Parsing command line arguments with Sharg
C++ Concepts
Alphabets in SeqAn
Ranges
Minimisers
Sequence File Input and Output
Pairwise Alignment
Indexing and searching with SeqAn
SAM Input and Output in SeqAn
Implementing your own read mapper with SeqAn
How-To
Porting from SeqAn2
How to write an argument parser with subcommands
How to serialise SeqAn data structures
How to write a view
How to write your own alphabet
Cookbook
About
Stability and long-term promises
Citing
Customisation
Changelog
Copyright
Code of Conduct
Contributing
API Reference
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
transformation_trait_or.hpp
Go to the documentation of this file.
1
// -----------------------------------------------------------------------------------------------------
2
// Copyright (c) 2006-2023, Knut Reinert & Freie Universität Berlin
3
// Copyright (c) 2016-2023, 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 <
type_traits
>
16
17
#include <
seqan3/utility/type_traits/concept.hpp
>
18
19
namespace
seqan3::detail
20
{
21
41
template
<
typename
type_t,
typename
default_t>
42
using
transformation_trait_or =
std::conditional_t<transformation_trait<type_t>
,
// check if type_t::type exists
43
type_t,
// if yes, return type_t
44
std::type_identity<default_t>
>;
// else return default_t as trait
45
50
template
<
typename
type_t,
typename
default_t>
51
using
transformation_trait_or_t =
typename
transformation_trait_or<type_t, default_t>::type;
52
53
}
// namespace seqan3::detail
std::conditional_t
std::type_identity
type_traits
concept.hpp
Provides the concepts seqan3::transformation_trait and seqan3::unary_type_trait.
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
utility
type_traits
detail
transformation_trait_or.hpp
Generated on Thu Aug 17 2023 14:29:11 for SeqAn3 by
1.9.6