Просмотр исходного кода

AK: Add stream operators for Optional.

asynts 4 лет назад
Родитель
Сommit
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/Endian.h>
 #include <AK/Forward.h>
 #include <AK/Forward.h>
 #include <AK/MemMem.h>
 #include <AK/MemMem.h>
+#include <AK/Optional.h>
 #include <AK/Span.h>
 #include <AK/Span.h>
 #include <AK/StdLibExtras.h>
 #include <AK/StdLibExtras.h>
 #include <AK/Vector.h>
 #include <AK/Vector.h>
@@ -104,6 +105,15 @@ InputStream& operator<<(InputStream& stream, BigEndian<T> value)
     return stream;
     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__)
 #if defined(__cpp_concepts) && !defined(__COVERITY__)
 template<Concepts::Integral Integral>
 template<Concepts::Integral Integral>
 #else
 #else