Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
InputStreamMemory.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_STREAMS_INPUTSTREAMMEMORY_HPP_
2#define IV_SRC_STREAMS_INPUTSTREAMMEMORY_HPP_
3
5
6#include <string_view>
7
8namespace iv::streams
9{
10
12{
13public:
14 InputStreamMemory() = default;
15 InputStreamMemory(uint64_t sizeBuffer, bool isReversed);
16 InputStreamMemory(const std::byte *buffer, uint64_t sizeBuffer, bool isReversed);
17 InputStreamMemory(void *buffer, uint64_t sizeBuffer, bool isReversed);
21
24 void readBuffer(void *buffer, uint64_t sizeBuffer) override;
25 [[nodiscard]] uint32_t size() const;
26 [[nodiscard]] uint32_t sizeLeft() const;
27
28private:
29 void readImpl(bool &value) override;
30
31 void readImpl(std::byte &value) override;
32
33 void readImpl(int8_t &value) override;
34 void readImpl(uint8_t &value) override;
35
36 void readImpl(uint16_t &value) override;
37 void readImpl(int16_t &value) override;
38
39 void readImpl(uint32_t &value) override;
40 void readImpl(int32_t &value) override;
41
42 void readImpl(uint64_t &value) override;
43 void readImpl(int64_t &value) override;
44
45 void readImpl(double &value) override;
46 void readImpl(float &value) override;
47
48 void readImpl(std::string &value) override;
49
50 void skipImpl(bool value) override;
51
52 void skipImpl(std::byte value) override;
53
54 void skipImpl(uint8_t value) override;
55 void skipImpl(int8_t value) override;
56
57 void skipImpl(uint16_t value) override;
58 void skipImpl(int16_t value) override;
59
60 void skipImpl(uint32_t value) override;
61 void skipImpl(int32_t value) override;
62
63 void skipImpl(uint64_t value) override;
64 void skipImpl(int64_t value) override;
65
66 void skipImpl(double value) override;
67 void skipImpl(float value) override;
68
69 void skipImpl(std::string_view value) override;
70
72 void prvReadBytesBuffer(void *bufferOpt, uint64_t sizeBuffer, bool isReversed);
73
74 const std::byte *m_buffer {nullptr};
75 uint64_t m_lengthBuffer {0};
76 uint64_t m_offset {0};
77 bool m_reverseBytes {false};
78};
79
80}// namespace iv::streams
81
82#endif//IV_SRC_STREAMS_INPUTSTREAMMEMORY_HPP_
Definition IInputStream.hpp:10
Definition InputStreamMemory.hpp:12
void readImpl(bool &value) override
Definition InputStreamMemory.cpp:37
bool m_reverseBytes
Definition InputStreamMemory.hpp:77
void readBuffer(void *buffer, uint64_t sizeBuffer) override
Definition InputStreamMemory.cpp:162
uint64_t m_lengthBuffer
Definition InputStreamMemory.hpp:75
InputStreamMemory(InputStreamMemory &&)=delete
void prvReadBytesBuffer(void *bufferOpt, uint64_t sizeBuffer, bool isReversed)
Definition InputStreamMemory.cpp:12
uint32_t sizeLeft() const
Definition InputStreamMemory.cpp:202
InputStreamMemory & operator=(const InputStreamMemory &)=delete
const std::byte * m_buffer
Definition InputStreamMemory.hpp:74
void skipImpl(bool value) override
Definition InputStreamMemory.cpp:101
InputStreamMemory(const InputStreamMemory &)=delete
uint64_t m_offset
Definition InputStreamMemory.hpp:76
InputStreamMemory & operator=(InputStreamMemory &&)=delete
void prvIntegrityMemoryInputStream() const
Definition InputStreamMemory.cpp:7
uint32_t size() const
Definition InputStreamMemory.cpp:197
Definition IInputStream.hpp:7