28 #ifndef INCLUDED_MDDS_GLOBAL_HPP
29 #define INCLUDED_MDDS_GLOBAL_HPP
46 #define MDDS_ASCII(literal) literal, sizeof(literal)-1
54 #define MDDS_N_ELEMENTS(name) sizeof(name)/sizeof(name[0])
57 #define MDDS_DEPRECATED __attribute__ ((deprecated))
58 #elif defined(_MSC_VER)
59 #define MDDS_DEPRECATED __declspec(deprecated)
61 #define MDDS_DEPRECATED
64 #ifndef MDDS_LOOP_UNROLLING
65 #define MDDS_LOOP_UNROLLING 1
76 virtual const char* what()
const throw()
108 template<
typename T,
typename ...Args>
109 std::unique_ptr<T> make_unique(Args&& ...args)
111 return std::unique_ptr<T>(
new T(std::forward<Args>(args)...));