summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/NewKit/Stream.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'dev/Kernel/NewKit/Stream.hxx')
-rw-r--r--dev/Kernel/NewKit/Stream.hxx58
1 files changed, 0 insertions, 58 deletions
diff --git a/dev/Kernel/NewKit/Stream.hxx b/dev/Kernel/NewKit/Stream.hxx
deleted file mode 100644
index e2f63b17..00000000
--- a/dev/Kernel/NewKit/Stream.hxx
+++ /dev/null
@@ -1,58 +0,0 @@
-
-/* -------------------------------------------
-
- Copyright ZKA Technologies.
-
-------------------------------------------- */
-
-#pragma once
-
-#include <NewKit/Defines.hxx>
-#include <NewKit/Ref.hxx>
-
-namespace Kernel
-{
- template <typename StreamTrait, typename Kind>
- class Stream final
- {
- public:
- explicit Stream(Ref<Stream> ref)
- : fStream(ref)
- {
- }
-
- ~Stream() = default;
-
- Stream& operator=(const Stream&) = default;
- Stream(const Stream&) = default;
-
- template <typename Data>
- friend Stream<StreamTrait, Kind>& operator>>(Stream<StreamTrait, Kind>& Ks, Ref<Data>& Buf)
- {
- Ks.fKind = Ks.fStream->In(Buf);
- return *Ks;
- }
-
- template <typename Data>
- friend Stream<StreamTrait, Kind>& operator<<(Stream<StreamTrait, Kind>& Ks, Ref<Data>& Buf)
- {
- Ks.fKind = Buf;
- Ks.fStream->Out(Buf.Leak());
- return *Ks;
- }
-
- Ref<StreamTrait>& AsStreamTrait()
- {
- return fStream;
- }
-
- Ref<Kind>& AsType()
- {
- return fKind;
- }
-
- private:
- Ref<StreamTrait> fStream;
- Ref<Kind> fKind;
- };
-} // namespace Kernel