2#include "../min-cpp-version/cpp14.h"
5#if __cplusplus < 201703L && (!defined(_MSVC_LANG) || _MSVC_LANG < 201703L)
6#error "This file requires compiler and library support for the ISO C++ 2017 standard."
9#if !defined(__cpp_concepts)
10#define GHPL_REQUIRES(...)
11#define GHPL_TYPENAME(...) typename
12#define GHPL_CONCEPT(name) constexpr inline bool name
14#define GHPL_REQUIRES(...) requires __VA_ARGS__
15#define GHPL_TYPENAME(...) __VA_ARGS__
16#define GHPL_CONCEPT(name) concept name
21#if defined(__cpp_lib_remove_cvref) && __cpp_lib_remove_cvref >= 201711L
22 using std::remove_cvref;
23 using std::remove_cvref_t;
26 using remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>;
29 struct remove_cvref {
using type = remove_cvref_t<T>; };
32 template <
typename FROM,
typename TO>
33 using copy_const = std::conditional_t<std::is_const_v<FROM>, std::add_const_t<TO>, TO>;
Primary namespace for everything in this library.