16 #include <type_traits> 78 requires std::is_default_constructible_v<t>
110 template <
typename t,
typename ...dependent_ts>
123 template <
typename t,
typename ...dependent_ts>
124 using deferred_type_t =
typename deferred_type<t, dependent_ts...>
::type;
137 template <
typename t>
138 constexpr
bool decays_to_ignore_v = std::is_same_v<remove_cvref_t<t>, ignore_t>;
152 #if defined(__clang__) 153 # define SEQAN3_IS_SAME(...) __is_same(__VA_ARGS__) 154 #elif defined(__GNUC__) 155 # define SEQAN3_IS_SAME(...) __is_same_as(__VA_ARGS__) 157 # define SEQAN3_IS_SAME(...) std::is_same_v<__VA_ARGS__> Return the input type with && removed, but lvalue references preserved.
Definition: basic.hpp:47
typename remove_rvalue_reference< t >::type remove_rvalue_reference_t
Return the input type with && removed, but lvalue references preserved (transformation_trait shortcut...
Definition: basic.hpp:58
The main SeqAn3 namespace.
Provides various type traits for use on functions.
std::conditional_t< std::is_rvalue_reference_v< t >, std::remove_reference_t< t >, t > type
The return type is the input type with any && stripped.
Definition: basic.hpp:50
Definition: aligned_sequence_concept.hpp:36
Whether a type std::is_default_constructible in constexpr-context.
Definition: basic.hpp:69