1 #ifndef OSMIUM_MEMORY_CALLBACK_BUFFER_HPP 2 #define OSMIUM_MEMORY_CALLBACK_BUFFER_HPP 98 explicit CallbackBuffer(std::size_t initial_buffer_size = default_initial_buffer_size, std::size_t max_buffer_size = default_max_buffer_size) :
99 m_buffer(initial_buffer_size,
osmium::memory::
Buffer::auto_grow::yes),
100 m_initial_buffer_size(initial_buffer_size),
101 m_max_buffer_size(max_buffer_size),
102 m_callback(nullptr) {
115 explicit CallbackBuffer(
callback_func_type callback, std::size_t initial_buffer_size = default_initial_buffer_size, std::size_t max_buffer_size = default_max_buffer_size) :
116 m_buffer(initial_buffer_size,
osmium::memory::
Buffer::auto_grow::yes),
117 m_initial_buffer_size(initial_buffer_size),
118 m_max_buffer_size(max_buffer_size),
119 m_callback(
std::move(callback)) {
140 m_callback = callback;
152 if (m_callback && m_buffer.
committed() > 0) {
189 #endif // OSMIUM_MEMORY_CALLBACK_BUFFER_HPP void set_callback(const callback_func_type &callback=nullptr) noexcept
Definition: callback_buffer.hpp:139
callback_func_type m_callback
Definition: callback_buffer.hpp:85
osmium::memory::Buffer & buffer() noexcept
Definition: callback_buffer.hpp:128
Definition: location.hpp:550
void possibly_flush()
Definition: callback_buffer.hpp:165
void swap(Buffer &lhs, Buffer &rhs)
Definition: buffer.hpp:755
std::size_t committed() const noexcept
Definition: buffer.hpp:261
Namespace for everything in the Osmium library.
Definition: assembler.hpp:53
osmium::memory::Buffer read()
Definition: callback_buffer.hpp:176
CallbackBuffer(callback_func_type callback, std::size_t initial_buffer_size=default_initial_buffer_size, std::size_t max_buffer_size=default_max_buffer_size)
Definition: callback_buffer.hpp:115
osmium::memory::Buffer m_buffer
Definition: callback_buffer.hpp:82
static constexpr const std::size_t default_max_buffer_size
Definition: callback_buffer.hpp:80
std::size_t m_max_buffer_size
Definition: callback_buffer.hpp:84
void flush()
Definition: callback_buffer.hpp:151
Definition: buffer.hpp:97
Definition: callback_buffer.hpp:70
std::function< void(osmium::memory::Buffer &&)> callback_func_type
The type for the callback function.
Definition: callback_buffer.hpp:75
CallbackBuffer(std::size_t initial_buffer_size=default_initial_buffer_size, std::size_t max_buffer_size=default_max_buffer_size)
Definition: callback_buffer.hpp:98
std::size_t m_initial_buffer_size
Definition: callback_buffer.hpp:83
static constexpr const std::size_t default_initial_buffer_size
Definition: callback_buffer.hpp:79