cprover
optional.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3  Module: typedef for optional class template. To be replaced with
4  std::optional once C++17 support is enabled
5 
6  Author: Diffblue Ltd.
7 
8 \*******************************************************************/
9 
10 #ifndef CPROVER_UTIL_OPTIONAL_H
11 #define CPROVER_UTIL_OPTIONAL_H
12 
13 #if defined __clang__
14  #pragma clang diagnostic push ignore "-Wall"
15  #pragma clang diagnostic push ignore "-Wpedantic"
16 #elif defined __GNUC__
17  #pragma GCC diagnostic push ignore "-Wall"
18  #pragma GCC diagnostic push ignore "-Wpedantic"
19 #elif defined _MSC_VER
20  #pragma warning(push)
21 #endif
22 #include <nonstd/optional.hpp>
23 #if defined __clang__
24  #pragma clang diagnostic pop
25  #pragma clang diagnostic pop
26 #elif defined __GNUC__
27  #pragma GCC diagnostic pop
28  #pragma GCC diagnostic pop
29 #elif defined _MSC_VER
30  #pragma warning(pop)
31 #endif
32 
33 // Swap for std::optional when switching to C++17
34 template<typename T>
35 using optionalt=nonstd::optional<T>; // NOLINT template typedef
36 
37 typedef nonstd::bad_optional_access bad_optional_accesst;
38 
39 using nonstd::nullopt;
40 
41 #endif // CPROVER_UTIL_OPTIONAL_H
bad_optional_accesst
nonstd::bad_optional_access bad_optional_accesst
Definition: optional.h:37
optionalt
nonstd::optional< T > optionalt
Definition: optional.h:35