Browse Source

feat: add empty stream

Sam Jaffe 3 years ago
parent
commit
52c4722213
2 changed files with 8 additions and 1 deletions
  1. 6 1
      include/stream/streams/source.hpp
  2. 2 0
      include/stream/streams/traits.hpp

+ 6 - 1
include/stream/streams/source.hpp

@@ -51,7 +51,12 @@ namespace stream {
   detail::stream_base<detail::source::reference<C>> make_stream(C && cont) {
     return std::make_shared<detail::source_stream<C>>(std::forward<C>(cont));
   }
-  
+
+  template <typename T>
+  detail::stream_base<T&> make_empty_stream() {
+    return std::make_shared<detail::range_stream<T*, T&>>(nullptr, nullptr);
+  }
+
   template <typename T>
   detail::stream_base<T&> make_stream(T * ptr) {
     return std::make_shared<detail::range_stream<T*, T&>>(ptr, ptr+1);

+ 2 - 0
include/stream/streams/traits.hpp

@@ -7,6 +7,8 @@
 
 #pragma once
 
+#include <utility>
+
 namespace stream { namespace detail {
   template <typename T>
   struct ref_or_val {