7#include <Vector/BLF/platform.h>
12#include <Vector/BLF/AbstractFile.h>
14#include <Vector/BLF/vector_blf_export.h>
24class VECTOR_BLF_EXPORT CompressedFile final :
public AbstractFile {
26 CompressedFile() =
default;
27 ~CompressedFile()
override;
28 CompressedFile(
const CompressedFile &) =
delete;
29 CompressedFile & operator=(
const CompressedFile &) =
delete;
30 CompressedFile(CompressedFile &&) =
delete;
31 CompressedFile & operator=(CompressedFile &&) =
delete;
33 std::streamsize
gcount()
const override;
34 void read(
char * s, std::streamsize n)
override;
35 std::streampos
tellg()
override;
36 void seekg(std::streamoff off,
const std::ios_base::seekdir way = std::ios_base::cur)
override;
37 void write(
const char * s, std::streamsize n)
override;
38 std::streampos
tellp()
override;
39 bool good()
const override;
40 bool eof()
const override;
48 virtual void open(
const char * filename, std::ios_base::openmode openMode);
67 virtual void seekp(std::streampos pos);
73 std::fstream m_file {};
76 mutable std::mutex m_mutex {};
void seekg(std::streamoff off, const std::ios_base::seekdir way=std::ios_base::cur) override
Definition CompressedFile.cpp:35
std::streamsize gcount() const override
Definition CompressedFile.cpp:14
bool good() const override
Definition CompressedFile.cpp:56
void write(const char *s, std::streamsize n) override
Definition CompressedFile.cpp:42
virtual bool is_open() const
Definition CompressedFile.cpp:77
virtual void open(const char *filename, std::ios_base::openmode openMode)
Definition CompressedFile.cpp:70
virtual void seekp(std::streampos pos)
Definition CompressedFile.cpp:91
virtual void close()
Definition CompressedFile.cpp:84
std::streampos tellg() override
Definition CompressedFile.cpp:28
std::streampos tellp() override
Definition CompressedFile.cpp:49
void read(char *s, std::streamsize n) override
Definition CompressedFile.cpp:21
bool eof() const override
Definition CompressedFile.cpp:63