BioC++ core-0.7.0
The Modern C++ libraries for Bioinformatics.
 
Loading...
Searching...
No Matches
basic.hpp
Go to the documentation of this file.
1// -----------------------------------------------------------------------------------------------------
2// Copyright (c) 2022 deCODE Genetics
3// Copyright (c) 2006-2020, Knut Reinert & Freie Universität Berlin
4// Copyright (c) 2016-2020, Knut Reinert & MPI für molekulare Genetik
5// This file may be used, modified and/or redistributed under the terms of the 3-clause BSD-License
6// shipped with this file and also available at: https://github.com/biocpp/biocpp-core/blob/main/LICENSE.md
7// -----------------------------------------------------------------------------------------------------
8
14#pragma once
15
16#include <tuple>
17#include <type_traits>
18
20
21namespace bio::meta
22{
23
28// ----------------------------------------------------------------------------
29// default_initialisable_wrap_t
30// ----------------------------------------------------------------------------
31
36template <typename t>
39 constexpr_default_initializable<std::remove_cvref_t<t>>,
42
43// ----------------------------------------------------------------------------
44// ignore_t
45// ----------------------------------------------------------------------------
46
48using ignore_t = std::remove_cvref_t<decltype(std::ignore)>;
49
54template <typename t>
55inline constexpr bool decays_to_ignore_v = std::is_same_v<std::remove_cvref_t<t>, ignore_t>;
56
57// ----------------------------------------------------------------------------
58// always_false
59// ----------------------------------------------------------------------------
60
62template <typename... t>
63inline constexpr bool always_false = false;
64
66
67} // namespace bio::meta
Provides concepts for core language types and relations that don't have concepts in C++20 (yet).
constexpr bool always_false
A trait that is always false. Can be used for static_assert(false). DO NOT SPECIALISE!
Definition: basic.hpp:63
constexpr bool decays_to_ignore_v
Return whether the input type with const, volatile and references removed is std::ignore's type....
Definition: basic.hpp:55
The Meta module's namespace.