28 #ifndef INCLUDED_MDDS_GLOBAL_HPP 29 #define INCLUDED_MDDS_GLOBAL_HPP 35 #include <type_traits> 47 #define MDDS_ASCII(literal) literal, sizeof(literal)-1 55 #define MDDS_N_ELEMENTS(name) sizeof(name)/sizeof(name[0]) 58 #define MDDS_DEPRECATED __attribute__ ((deprecated)) 59 #elif defined(_MSC_VER) 60 #define MDDS_DEPRECATED __declspec(deprecated) 62 #define MDDS_DEPRECATED 65 #ifndef MDDS_LOOP_UNROLLING 66 #define MDDS_LOOP_UNROLLING 1 69 #ifndef MDDS_USE_OPENMP 70 #define MDDS_USE_OPENMP 0 81 virtual const char* what()
const throw()
113 template<
typename T,
typename ...Args>
114 std::unique_ptr<T> make_unique(Args&& ...args)
116 return std::unique_ptr<T>(
new T(std::forward<Args>(args)...));
120 using bool_constant = std::integral_constant<bool, B>;
122 template <
typename T>
128 template <
typename U>
static y_type test(
typename U::value_type);
129 template <
typename U>
static n_type test(...);
132 static constexpr
bool value =
sizeof(test<T>(0)) ==
sizeof(y_type);
135 template<
typename _T,
typename _IsConst>
138 template<
typename _T>
141 using type =
typename std::add_const<_T>::type;
144 template<
typename _T>
150 template<
typename _T,
bool _Const>
153 template<
typename _T,
typename _IsConst>
156 template<
typename _T>
159 using type =
typename _T::const_iterator;
162 template<
typename _T>
165 using type =
typename _T::iterator;
Definition: global.hpp:95
Definition: global.hpp:101
Definition: global.hpp:89
Definition: global.hpp:136
Definition: global.hpp:123
Definition: global.hpp:75
Definition: global.hpp:154
Definition: flat_segment_tree.hpp:46
Definition: global.hpp:107