SeqAn3 3.3.0-rc.1
The Modern C++ library for sequence analysis.
 
Loading...
Searching...
No Matches
transfer_type_modifier_onto.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
15#include <type_traits>
16
18
19namespace seqan3::detail
20{
21
33template <typename source_t, typename target_t>
35{
36private:
39 || std::is_const_v<std::remove_reference_t<target_t>>,
42
45 std::conditional_t<std::is_rvalue_reference_v<source_t> || std::is_rvalue_reference_v<target_t>,
48
51 std::conditional_t<std::is_lvalue_reference_v<source_t> || std::is_lvalue_reference_v<target_t>,
54
55public:
58};
59
67template <typename source_t, typename target_t>
69
70} // namespace seqan3::detail
The internal SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
Provides platform and dependency checks.
Transfers the type modifier &, && and const (and any combination) to the target type.
Definition: transfer_type_modifier_onto.hpp:35
typename transfer_type_modifier_onto< source_t, target_t >::type transfer_type_modifier_onto_t
Transfers the type modifier &, && and const (and any combination) to the target type (transformation_...
Definition: transfer_type_modifier_onto.hpp:68
std::conditional_t< std::is_lvalue_reference_v< source_t >||std::is_lvalue_reference_v< target_t >, std::add_lvalue_reference_t< maybe_rvalue_reference_t >, maybe_rvalue_reference_t > maybe_lvalue_reference_target_t
Transfers the & type modifier to the target type.
Definition: transfer_type_modifier_onto.hpp:53