SeqAn3  3.1.0-rc.1
The Modern C++ library for sequence analysis.
std Namespace Reference

SeqAn specific customisations in the standard namespace. More...

Classes

struct  hash< alphabet_t >
 Struct for hashing a character. More...
 
struct  hash< seqan3::dynamic_bitset< cap > >
 Struct for hashing a seqan3::dynamic_bitset. More...
 
struct  hash< urng_t >
 Struct for hashing a range of characters. More...
 
struct  remove_cvref
 Return the input type with const, volatile and references removed. More...
 
struct  tuple_element< elem_no, seqan3::record< field_types, field_ids > >
 Obtains the type of the specified element. More...
 
struct  tuple_element< elem_no, seqan3::sam_record< field_types, field_ids > >
 Obtains the type of the specified element. More...
 
struct  tuple_element< elem_no, seqan3::sequence_record< field_types, field_ids > >
 Obtains the type of the specified element. More...
 
struct  tuple_element< elem_no, seqan3::structure_record< field_types, field_ids > >
 Obtains the type of the specified element. More...
 
struct  tuple_element< i, t< types... > >
 Obtains the type of the specified element. More...
 
struct  tuple_element< i, tuple_t >
 Obtains the type of the specified element. More...
 
struct  tuple_element< index, seqan3::detail::affine_cell_proxy< tuple_t > >
 
struct  tuple_size< seqan3::detail::affine_cell_proxy< tuple_t > >
 
struct  tuple_size< seqan3::record< field_types, field_ids > >
 Provides access to the number of elements in a tuple as a compile-time constant expression. More...
 
struct  tuple_size< seqan3::sam_record< field_types, field_ids > >
 Provides access to the number of elements in a tuple as a compile-time constant expression. More...
 
struct  tuple_size< seqan3::sequence_record< field_types, field_ids > >
 Provides access to the number of elements in a tuple as a compile-time constant expression. More...
 
struct  tuple_size< seqan3::structure_record< field_types, field_ids > >
 Provides access to the number of elements in a tuple as a compile-time constant expression. More...
 
struct  tuple_size< t< types... > >
 Provides access to the number of elements in a tuple as a compile-time constant expression. More...
 
struct  tuple_size< tuple_t >
 Provides access to the number of elements in a tuple as a compile-time constant expression. More...
 
struct  type_identity
 The identity transformation (a transformation_trait that returns the input). More...
 

Typedefs

template<typename t >
using remove_cvref_t = typename remove_cvref< t >::type
 Return the input type with const, volatile and references removed (transformation_trait shortcut). More...
 
template<typename t >
using type_identity_t = typename type_identity< t >::type
 A shortcut for std::type_identity.
 

Enumerations

enum class  endian { little = __ORDER_LITTLE_ENDIAN__ , big = __ORDER_BIG_ENDIAN__ , native = __BYTE_ORDER__ }
 Indicates the endianness of all scalar types. More...
 

Functions

template<class T >
constexpr T bit_ceil (T x) noexcept
 Calculates the smallest integral power of two that is not smaller than x. More...
 
template<class T >
constexpr T bit_width (T x) noexcept
 If x is not zero, calculates the number of bits needed to store the value x, that is, 1 + floor(log2(x)). If x is zero, returns zero. More...
 
template<class T >
constexpr int countl_zero (T x) noexcept
 Returns the number of consecutive 0 bits in the value of x, starting from the most significant bit ("left"). More...
 
template<class T >
constexpr int countr_zero (T x) noexcept
 Returns the number of consecutive 0 bits in the value of x, starting from the least significant bit ("right"). More...
 
template<class T >
constexpr bool has_single_bit (T x) noexcept
 Checks if x is an integral power of two. More...
 
template<class T >
constexpr int popcount (T x) noexcept
 Returns the number of 1 bits in the value of x. More...
 
template<typename T >
constexpr auto to_address (const T &p) noexcept
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
constexpr T * to_address (T *p) noexcept
 Obtain the address represented by p without forming a reference to the object pointed to by p. More...
 

Variables

constexpr std::size_t hardware_constructive_interference_size = 64
 Maximum size of contiguous memory to promote true sharing. More...
 
constexpr std::size_t hardware_destructive_interference_size = 64
 Minimum offset between two objects to avoid false sharing. More...
 

Detailed Description

SeqAn specific customisations in the standard namespace.

A workaround for __cpp_lib_remove_cvref for gcc version >=9.0 and <9.4 (in C++17 mode). Those versions implemented std::remove_cvref_t, but did not define that feature detection macro.

Typedef Documentation

◆ remove_cvref_t

template<typename t >
using std::remove_cvref_t = typedef typename remove_cvref<t>::type

Return the input type with const, volatile and references removed (transformation_trait shortcut).

Template Parameters
tThe type to operate on.