27# define SEQAN3_IS_CONSTEXPR(...) true
29# define SEQAN3_IS_CONSTEXPR(...) std::integral_constant<bool, __builtin_constant_p(((void)__VA_ARGS__, 0))>::value
76 requires std::is_default_constructible_v<t>
90namespace seqan3::detail
104template <
typename t,
typename... dependent_ts>
118template <
typename t,
typename... dependent_ts>
119using deferred_type_t =
typename deferred_type<t, dependent_ts...>::type;
135constexpr bool decays_to_ignore_v = std::is_same_v<std::remove_cvref_t<t>, ignore_t>;
148#if defined(__clang__)
149# define SEQAN3_IS_SAME(...) __is_same(__VA_ARGS__)
150#elif defined(__GNUC__)
151# define SEQAN3_IS_SAME(...) __is_same_as(__VA_ARGS__)
153# define SEQAN3_IS_SAME(...) std::is_same_v<__VA_ARGS__>
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
Whether a type std::is_default_constructible in constexpr-context (unary_type_trait specialisation).
Definition basic.hpp:72
Return the input type with && removed, but lvalue references preserved.
Definition basic.hpp:48
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:59