11 #include <type_traits>
23 #define MDDS_ASCII(literal) literal, sizeof(literal) - 1
33 #define MDDS_N_ELEMENTS(name) sizeof(name) / sizeof(name[0])
36 #define MDDS_DEPRECATED __attribute__((deprecated))
37 #elif defined(_MSC_VER)
38 #define MDDS_DEPRECATED __declspec(deprecated)
40 #define MDDS_DEPRECATED
43 #ifndef MDDS_LOOP_UNROLLING
44 #define MDDS_LOOP_UNROLLING 1
47 #ifndef MDDS_USE_OPENMP
48 #define MDDS_USE_OPENMP 0
51 #if defined(__AVX__) || defined(__AVX2__)
67 virtual const char* what()
const noexcept
113 static y_type test(
typename U::value_type);
115 static n_type test(...);
118 static constexpr
bool value =
sizeof(test<T>(0)) ==
sizeof(y_type);
121 template<
typename T,
typename IsConst>
127 using type =
typename std::add_const<T>::type;
136 template<
typename T,
bool Const>
139 template<
typename T,
typename Mutable>
151 using type =
typename std::add_const<T>::type;
154 template<
typename T,
bool Mutable>
157 template<
typename T,
typename IsConst>
163 using type =
typename T::const_iterator;
169 using type =
typename T::iterator;
173 constexpr
bool invalid_static_int()
178 template<
typename T,
typename =
void>
184 struct is_complete<T, std::void_t<decltype(sizeof(T) != 0)>> : std::true_type
Definition: global.hpp:83
Definition: global.hpp:107
Definition: global.hpp:90
Definition: global.hpp:179
Definition: global.hpp:76
Definition: global.hpp:158
Definition: global.hpp:59
Definition: global.hpp:122
Definition: global.hpp:140
Definition: cref_wrapper.hpp:12
Definition: global.hpp:97