瀏覽代碼

AK: Add stream operators for Optional.

asynts 4 年之前
父節點
當前提交
18b3de7555
共有 1 個文件被更改,包括 10 次插入0 次删除
  1. 10 0
      AK/Stream.h

+ 10 - 0
AK/Stream.h

@@ -31,6 +31,7 @@
 #include <AK/Endian.h>
 #include <AK/Forward.h>
 #include <AK/MemMem.h>
+#include <AK/Optional.h>
 #include <AK/Span.h>
 #include <AK/StdLibExtras.h>
 #include <AK/Vector.h>
@@ -104,6 +105,15 @@ InputStream& operator<<(InputStream& stream, BigEndian<T> value)
     return stream;
 }
 
+template<typename T>
+InputStream& operator>>(InputStream& stream, Optional<T>& value)
+{
+    T temporary;
+    stream >> temporary;
+    value = temporary;
+    return stream;
+}
+
 #if defined(__cpp_concepts) && !defined(__COVERITY__)
 template<Concepts::Integral Integral>
 #else