diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-05-08 12:32:41 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-05-08 12:32:41 +0200 |
| commit | 09dd11ddf800898c00ecb04a65fb5cd10fb481fa (patch) | |
| tree | eda0b4e23d6a71da7de3a78f0bb76ec3201dd2f9 /Private/NewKit/Stream.hpp | |
| parent | ca83108fd138cc0398f900e6a6c0a53ad51aee31 (diff) | |
MHR-23: :boom: changes, reworked project tree.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/NewKit/Stream.hpp')
| -rw-r--r-- | Private/NewKit/Stream.hpp | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/Private/NewKit/Stream.hpp b/Private/NewKit/Stream.hpp deleted file mode 100644 index 9f737b2d..00000000 --- a/Private/NewKit/Stream.hpp +++ /dev/null @@ -1,58 +0,0 @@ - -/* ------------------------------------------- - - Copyright Mahrouss Logic - -------------------------------------------- */ - -#pragma once - -#include <NewKit/Defines.hpp> -#include <NewKit/Ref.hpp> - -namespace NewOS -{ - 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 NewOS |
