Cuberite
A lightweight, fast and extensible game server for Minecraft
CircularBufferCompressor.h
Go to the documentation of this file.
1 
2 #pragma once
3 
4 #include "StringCompression.h"
5 
6 
7 
8 
9 
10 class cByteBuffer;
11 
12 
13 
14 
15 
17 {
18 public:
19 
21 
23  void ReadFrom(cByteBuffer & Buffer);
24  void ReadFrom(cByteBuffer & Buffer, size_t Size);
25 
26 private:
27 
29  std::basic_string<std::byte> m_ContiguousIntermediate;
30 };
31 
32 
33 
34 
35 
37 {
38 public:
39 
41 
42  Compression::Result Extract(size_t UncompressedSize);
43  void ReadFrom(cByteBuffer & Buffer, size_t Size);
44 
45 private:
46 
48  std::basic_string<std::byte> m_ContiguousIntermediate;
49 };
std::basic_string_view< std::byte > ContiguousByteBufferView
Definition: Globals.h:376
An object that can store incoming bytes and lets its clients read the bytes sequentially The bytes ar...
Definition: ByteBuffer.h:32
std::basic_string< std::byte > m_ContiguousIntermediate
Compression::Compressor m_Compressor
ContiguousByteBufferView GetView() const
void ReadFrom(cByteBuffer &Buffer)
void ReadFrom(cByteBuffer &Buffer, size_t Size)
Compression::Extractor m_Extractor
std::basic_string< std::byte > m_ContiguousIntermediate
ContiguousByteBufferView GetView() const
Compression::Result Extract(size_t UncompressedSize)
Contains the result of a compression or extraction operation.
Contains routines for data compression.
Contains routines for data extraction.