Provides various type traits on generic types. More...
Go to the source code of this file.
Namespaces | |
namespace | bio |
The main BioC++ namespace. | |
namespace | bio::meta |
The Meta module's namespace. | |
Typedefs | |
template<typename t > | |
using | default_initialisable_wrap_t = std::conditional_t< std::is_nothrow_default_constructible_v< std::remove_cvref_t< t > > &&constexpr_default_initializable< std::remove_cvref_t< t > >, std::remove_cvref_t< t >, std::type_identity< std::remove_cvref_t< t > > > |
Return t as t if it is noexcept- and constexpr-default-constructible; else wrap it in std::type_identity. | |
using | bio::meta::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 | bio::meta::always_false = false |
A trait that is always false. Can be used for static_assert(false) . DO NOT SPECIALISE! | |
template<typename t > | |
constexpr bool | bio::meta::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). | |
Provides various type traits on generic types.