summarylogtreecommitdiffstats
path: root/opentimelineio-c++17.patch
blob: c03f8425247d30decae0933d7fd90951290cd850 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2d95957..0ab6986 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -148,7 +148,7 @@ endif()
 # Global language settings
 
 if (NOT CMAKE_CXX_STANDARD)
-    set(CMAKE_CXX_STANDARD 14)
+    set(CMAKE_CXX_STANDARD 17)
 endif()
 
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
diff --git a/src/opentimelineio/any.h b/src/opentimelineio/any.h
index 2939bae..b104f78 100644
--- a/src/opentimelineio/any.h
+++ b/src/opentimelineio/any.h
@@ -1,11 +1,11 @@
 #pragma once
 
-#include "any/any.hpp"
+#include <any>
 #include "opentimelineio/version.h"
 
 namespace opentimelineio { namespace OPENTIMELINEIO_VERSION {
 
-using linb::any;
-using linb::any_cast;
+using std::any;
+using std::any_cast;
 
 }} // namespace opentimelineio::OPENTIMELINEIO_VERSION
diff --git a/src/opentimelineio/optional.h b/src/opentimelineio/optional.h
index ee74693..b3e3b24 100644
--- a/src/opentimelineio/optional.h
+++ b/src/opentimelineio/optional.h
@@ -1,12 +1,12 @@
 #pragma once
 
-#include "nonstd/optional.hpp"
+#include <optional>
 #include "opentimelineio/version.h"
 
 namespace opentimelineio { namespace OPENTIMELINEIO_VERSION {
 
-using nonstd::nullopt;
-using nonstd::nullopt_t;
-using nonstd::optional;
+using std::nullopt;
+using std::nullopt_t;
+using std::optional;
 
 }} // namespace opentimelineio::OPENTIMELINEIO_VERSION
diff --git a/src/py-opentimelineio/opentimelineio-bindings/otio_utils.h b/src/py-opentimelineio/opentimelineio-bindings/otio_utils.h
index f4bbdf3..1d55983 100644
--- a/src/py-opentimelineio/opentimelineio-bindings/otio_utils.h
+++ b/src/py-opentimelineio/opentimelineio-bindings/otio_utils.h
@@ -14,14 +14,6 @@ using namespace opentimelineio::OPENTIMELINEIO_VERSION;
 
 void install_external_keepalive_monitor(SerializableObject* so, bool apply_now);
 
-namespace pybind11 { namespace detail {
-    template<typename T> struct type_caster<optional<T>>
-        : public optional_caster<optional<T>> {};
-
-    template<> struct type_caster<nullopt_t>
-        : public void_caster<nullopt_t> {};
-}}
-
 template <typename T>
 struct managing_ptr {
     managing_ptr(T* ptr)