SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
basic.hpp File Reference

Provides various type traits on generic types. More...

#include <tuple>
#include <type_traits>
#include <seqan3/core/platform.hpp>
+ Include dependency graph for basic.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  seqan3::detail::deferred_type< t, dependent_ts >
 Return the type identity; further arguments are ignored, but can make this type dependent if they are. 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...
 

Namespaces

namespace  seqan3
 The main SeqAn3 namespace.
 
namespace  seqan3::detail
 The internal SeqAn3 namespace.
 

Macros

#define SEQAN3_IS_CONSTEXPR(...)   std::integral_constant<bool, __builtin_constant_p(((void)__VA_ARGS__, 0))>::value
 Returns true if the expression passed to this macro can be evaluated at compile time, false otherwise.
 
#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 , typename... dependent_ts>
using seqan3::detail::deferred_type_t = typename deferred_type< t, dependent_ts... >::type
 Return the type identity; further arguments are ignored, but can make this type dependent if they are (transformation_trait shortcut).
 
using seqan3::detail::ignore_t = std::remove_cvref_t< decltype(std::ignore)>
 Return the type of std::ignore with const, volatile and references removed (type trait).
 

Variables

template<typename t >
constexpr bool seqan3::detail::decays_to_ignore_v = std::is_same_v<std::remove_cvref_t<t>, ignore_t>
 Return whether the input type with const, volatile and references removed is std::ignore's type. (type trait).
 

Detailed Description

Provides various type traits on generic types.

Author
Hannes Hauswedell <hannes.hauswedell AT fu-berlin.de>
Hide me