libboxes
boxes is a set of specialised containers built on top of STL
compiler.hpp
1#ifndef __BOXES_COMPILER_HPP__
2#define __BOXES_COMPILER_HPP__
3
4#ifdef __has_include
5#if __has_include(<version>)
6#include <version>
7#endif
8#endif
9
10#ifdef __cpp_lib_unreachable
11#include <utility>
12#define boxes_unreachable() std::unreachable()
13
14#else
15#include <exception>
16#define boxes_unreachable() std::terminate()
17
18#endif
19
20#if __cplusplus <= 199711L
21#define BOXES_NOTHROW throw()
22#else
23#define BOXES_NOTHROW noexcept
24#endif
25
26#endif // __BOXES_COMPILER_HPP__