Переглянути джерело

Fixing namespace for nullopt.

Samuel Jaffe 8 роки тому
батько
коміт
e0b895f240
2 змінених файлів з 7 додано та 5 видалено
  1. 5 3
      optional_stream.hpp
  2. 2 2
      optional_stream.t.h

+ 5 - 3
optional_stream.hpp

@@ -11,8 +11,10 @@
 #include <optional>
 #else
 #include <experimental/optional>
-namespace std { using experimental::optional; }
-using std::experimental::nullopt;
+namespace std {
+  using experimental::optional;
+  using experimental::nullopt;
+}
 #endif
 
 namespace stream { namespace optional {
@@ -29,7 +31,7 @@ namespace stream { namespace optional {
       template <typename F>
       using flatmap_f = typename flatmap_impl_t<map_f<F>>::type;
     public:
-      explicit optional_stream() : value(nullopt) {}
+      explicit optional_stream() : value(std::nullopt) {}
       explicit optional_stream(T const & v) : value(v) {}
       explicit optional_stream(T && v) : value(std::forward<T>(v)) {}
       explicit optional_stream(std::optional<T> const & v) : value(v) {}

+ 2 - 2
optional_stream.t.h

@@ -30,14 +30,14 @@ public:
   
   void test_optional_flatmap_can_become_empty() {
     auto strm = stream::optional::make_stream(5);
-    auto discard_odd = [](int i) { return i%2==0? std::optional<int>(i) : nullopt; };
+    auto discard_odd = [](int i) { return i%2==0? std::optional<int>(i) : std::nullopt; };
     std::optional<int> out = strm.flatmap(discard_odd);
     TS_ASSERT(!out);
   }
 
   void test_optional_flatmap_can_remain_exists() {
     auto strm = stream::optional::make_stream(6);
-    auto discard_odd = [](int i) { return i%2==0? std::optional<int>(i) : nullopt; };
+    auto discard_odd = [](int i) { return i%2==0? std::optional<int>(i) : std::nullopt; };
     std::optional<int> out = strm.flatmap(discard_odd);
     TS_ASSERT(out);
     TS_ASSERT_EQUALS(*out, 6);