PocketLzma  1.0.0
A cross-platform singleheader LZMA compression/decompression library for C++11
MemoryStream.hpp
Go to the documentation of this file.
1 //
2 // Created by robin on 28.12.2020.
3 //
4 
5 #ifndef POCKETLZMA_MEMORYSTREAM_HPP
6 #define POCKETLZMA_MEMORYSTREAM_HPP
7 
8 #include "MemoryBuffer.hpp"
9 
10 namespace plz
11 {
12  class MemoryStream : public std::istream {
13  public:
14  MemoryStream(const uint8_t *p, size_t l) :
15  std::istream(&m_buffer),
16  m_buffer(p, l)
17  {
18  m_size = l;
19  rdbuf(&m_buffer);
20  }
21 
22  size_t size() const { return m_size; }
23 
24  private:
25  MemoryBuffer m_buffer;
26  size_t m_size;
27  };
28 }
29 
30 #endif //POCKETLZMA_MEMORYSTREAM_HPP
plz::MemoryStream::MemoryStream
MemoryStream(const uint8_t *p, size_t l)
Definition: MemoryStream.hpp:14
plz::MemoryStream
Definition: MemoryStream.hpp:12
plz::MemoryStream::size
size_t size() const
Definition: MemoryStream.hpp:22
plz::MemoryBuffer
Definition: MemoryBuffer.hpp:12
plz
Definition: File.hpp:11
MemoryBuffer.hpp