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__)
59class general_error :
public ::std::exception
62 general_error(const ::std::string& msg) : m_msg(msg)
64 virtual ~general_error()
noexcept
67 virtual const char* what()
const noexcept
76class invalid_arg_error :
public general_error
79 invalid_arg_error(const ::std::string& msg) : general_error(msg)
83class size_error :
public general_error
86 size_error(
const std::string& msg) : general_error(msg)
90class type_error :
public general_error
93 type_error(
const std::string& msg) : general_error(msg)
97class integrity_error :
public general_error
100 integrity_error(
const std::string& msg) : general_error(msg)
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);
121template<
typename T,
typename IsConst>
127 using type =
typename std::add_const<T>::type;
136template<
typename T,
bool Const>
139template<
typename T,
typename Mutable>
151 using type =
typename std::add_const<T>::type;
154template<
typename T,
bool Mutable>
157template<
typename T,
typename IsConst>
163 using type =
typename T::const_iterator;
169 using type =
typename T::iterator;
173constexpr bool invalid_static_int()
178template<
typename T,
typename =
void>
184struct is_complete<T, std::void_t<decltype(sizeof(T) != 0)>> : std::true_type
Definition global.hpp:108
Definition global.hpp:122
Definition global.hpp:158
Definition global.hpp:180
Definition global.hpp:140