10#ifndef MSGPACK_V1_ZBUFFER_HPP
11#define MSGPACK_V1_ZBUFFER_HPP
34 m_stream.next_out =
Z_NULL;
35 m_stream.avail_out = 0;
37 throw std::bad_alloc();
53 m_stream.next_in =
reinterpret_cast<Bytef*
>(
const_cast<char*
>(
buf));
54 m_stream.avail_in =
static_cast<uInt>(
len);
56 while(m_stream.avail_in > 0) {
59 throw std::bad_alloc();
64 throw std::bad_alloc();
78 throw std::bad_alloc();
82 throw std::bad_alloc();
99 return static_cast<size_t>(
reinterpret_cast<char*
>(m_stream.next_out) - m_data);
105 throw std::bad_alloc();
112 m_stream.avail_out +=
static_cast<uInt>(
reinterpret_cast<char*
>(m_stream.next_out) - m_data);
113 m_stream.next_out =
reinterpret_cast<Bytef*
>(m_data);
121 m_stream.avail_out = 0;
128 size_t used =
static_cast<size_t>(
reinterpret_cast<char*
>(m_stream.next_out) - m_data);
129 size_t csize =
used + m_stream.avail_out;
138 m_stream.next_out =
reinterpret_cast<Bytef*
>(
tmp +
used);
143#if defined(MSGPACK_USE_CPP03)
146 zbuffer& operator=(
const zbuffer&);
148 zbuffer(
const zbuffer&) =
delete;
149 zbuffer& operator=(
const zbuffer&) =
delete;
#define MSGPACK_ASSERT
Definition assert.hpp:22
Definition zbuffer.hpp:25
char * flush()
Definition zbuffer.hpp:69
size_t size() const
Definition zbuffer.hpp:97
char * release_buffer()
Definition zbuffer.hpp:116
zbuffer(int level=Z_DEFAULT_COMPRESSION, size_t init_size=MSGPACK_ZBUFFER_INIT_SIZE)
Definition zbuffer.hpp:27
const char * data() const
Definition zbuffer.hpp:92
char * data()
Definition zbuffer.hpp:87
~zbuffer()
Definition zbuffer.hpp:41
void write(const char *buf, size_t len)
Definition zbuffer.hpp:48
void reset_buffer()
Definition zbuffer.hpp:110
void reset()
Definition zbuffer.hpp:102
Definition adaptor_base.hpp:15
void convert(T &v, msgpack::object const &o)
Definition object.hpp:1178
#define MSGPACK_NULLPTR
Definition cpp_config_decl.hpp:85
#define MSGPACK_API_VERSION_NAMESPACE(ns)
Definition versioning.hpp:66
#define MSGPACK_ZBUFFER_RESERVE_SIZE
Definition zbuffer_decl.hpp:16
#define MSGPACK_ZBUFFER_INIT_SIZE
Definition zbuffer_decl.hpp:20