diff options
author | John Hodge <tpg@mutabah.net> | 2016-10-20 17:48:41 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-10-20 17:48:41 +0800 |
commit | e21a7ceaee5f951bdec280c31a25a8d9215211a6 (patch) | |
tree | 9226ef8f09f0af351517a43cd2f1dcdc517c6ca5 /src/hir/serialise_lowlevel.hpp | |
parent | d5f54b9ab067b647f973c492fef892cf3fc43f23 (diff) | |
download | mrust-e21a7ceaee5f951bdec280c31a25a8d9215211a6.tar.gz |
HIR Serialise - Replace boost with raw zlib
Diffstat (limited to 'src/hir/serialise_lowlevel.hpp')
-rw-r--r-- | src/hir/serialise_lowlevel.hpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/hir/serialise_lowlevel.hpp b/src/hir/serialise_lowlevel.hpp index 4571b863..b710669e 100644 --- a/src/hir/serialise_lowlevel.hpp +++ b/src/hir/serialise_lowlevel.hpp @@ -7,21 +7,25 @@ */ #pragma once -#include <boost/iostreams/filtering_stream.hpp> -#include <fstream> #include <vector> +#include <string> +#include <stddef.h> +#include <assert.h> namespace HIR { namespace serialise { +class WriterInner; +class ReaderInner; + class Writer { - ::std::ofstream m_backing; - ::boost::iostreams::filtering_ostream m_os; + WriterInner* m_inner; public: Writer(const ::std::string& path); Writer(const Writer&) = delete; Writer(Writer&&) = delete; + ~Writer(); void write(const void* data, size_t count); @@ -133,19 +137,18 @@ public: size_t capacity() const { return m_backing.capacity(); } size_t read(void* dst, size_t len); - void populate(::std::istream& is); + void populate(ReaderInner& is); }; class Reader { - ::std::ifstream m_backing; - ::boost::iostreams::filtering_istream m_is; - + ReaderInner* m_inner; ReadBuffer m_buffer; public: Reader(const ::std::string& path); Reader(const Writer&) = delete; Reader(Writer&&) = delete; + ~Reader(); void read(void* dst, size_t count); |