SeqAn3  3.1.0-rc.1
The Modern C++ library for sequence analysis.
Type Traits

Provides various type traits and their shortcuts. More...

+ Collaboration diagram for Type Traits:

Classes

struct  seqan3::function_traits< std::function< return_t(args_t...)> >
 A traits class to provide a uniform interface to the properties of a function type. More...
 
struct  seqan3::is_constexpr_default_constructible< t >
 Whether a type std::is_default_constructible in constexpr-context. More...
 
struct  seqan3::is_constexpr_default_constructible< t >
 Whether a type std::is_default_constructible in constexpr-context (unary_type_trait specialisation). More...
 
struct  seqan3::remove_rvalue_reference< t >
 Return the input type with && removed, but lvalue references preserved. More...
 
interface  transformation_trait
 Concept for a transformation trait. More...
 
interface  unary_type_trait
 Concept for a unary traits type. More...
 

Macros

#define SEQAN3_IS_CONSTEXPR(...)   std::integral_constant<bool, __builtin_constant_p((__VA_ARGS__, 0))>::value
 Returns true if the expression passed to this macro can be evaluated at compile time, false otherwise. More...
 
#define SEQAN3_IS_SAME(...)   std::is_same_v<__VA_ARGS__>
 A macro that behaves like std::is_same_v, except that it doesn't need to instantiate the template on GCC and Clang.
 

Typedefs

template<typename t >
using seqan3::remove_rvalue_reference_t = typename remove_rvalue_reference< t >::type
 Return the input type with && removed, but lvalue references preserved (transformation_trait shortcut). More...
 

Variables

template<typename t >
constexpr bool is_constexpr_default_constructible_v = is_constexpr_default_constructible<t>::value
 Whether a type std::is_default_constructible in constexpr-context (unary_type_trait shortcut). More...
 

Detailed Description

Provides various type traits and their shortcuts.

Macro Definition Documentation

◆ SEQAN3_IS_CONSTEXPR

#define SEQAN3_IS_CONSTEXPR (   ...)    std::integral_constant<bool, __builtin_constant_p((__VA_ARGS__, 0))>::value

Returns true if the expression passed to this macro can be evaluated at compile time, false otherwise.

Returns
true or false.

Typedef Documentation

◆ remove_rvalue_reference_t

template<typename t >
using seqan3::remove_rvalue_reference_t = typedef typename remove_rvalue_reference<t>::type

Return the input type with && removed, but lvalue references preserved (transformation_trait shortcut).

Template Parameters
tThe type to operate on.
See also
seqan3::remove_rvalue_reference

Variable Documentation

◆ is_constexpr_default_constructible_v

template<typename t >
template<typename t >
constexpr bool is_constexpr_default_constructible_v = is_constexpr_default_constructible<t>::value
related

Whether a type std::is_default_constructible in constexpr-context (unary_type_trait shortcut).

Template Parameters
tThe type to operate on.