diff options
author | Claudius 'keldu' Holeksa <mail@keldu.de> | 2024-08-16 11:43:09 +0200 |
---|---|---|
committer | Claudius 'keldu' Holeksa <mail@keldu.de> | 2024-08-16 11:43:09 +0200 |
commit | 0410ab46c60be115067ca4ea3c5f6538a74206ea (patch) | |
tree | 72dda396c04a39159eac94aae0228ab0b7e7f7ec /modules | |
parent | 610508e74654725f2a8ca66ced71081d0e02fc14 (diff) |
Changed to own<buffer> from ring_buffer
Diffstat (limited to 'modules')
-rw-r--r-- | modules/codec-json/c++/json.hpp | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/modules/codec-json/c++/json.hpp b/modules/codec-json/c++/json.hpp index 19170f9..7ce1977 100644 --- a/modules/codec-json/c++/json.hpp +++ b/modules/codec-json/c++/json.hpp @@ -16,48 +16,49 @@ struct Json { template<typename Schema> class data<Schema, encode::Json> { private: - ring_buffer buffer_; + own<buffer> buffer_; public: data():buffer_{}{} + data(own<buffer> buffer__):buffer_{std::move(buffer__)}{} - data(std::size_t ring_size_):buffer_{ring_size_}{} + data(std::size_t ring_size_):buffer_{heap<ring_buffer>(ring_size_)}{} data(ring_buffer buff_): buffer_{std::move(buff_)} {} data(const std::string_view& view__): - buffer_{view__.size()} + buffer_{heap<ring_buffer>(view__.size())} { auto ptr = reinterpret_cast<const uint8_t*>(view__.data()); if(!ptr){ return; } - buffer_.push(*ptr, view__.size()); + buffer_->push(*ptr, view__.size()); } buffer& get_buffer(){ - return buffer_; + return *buffer_; } const buffer& get_buffer() const { - return buffer_; + return *buffer_; } error push(uint8_t val){ - return buffer_.push(val); + return buffer_->push(val); } std::size_t get_size() const { - return buffer_.read_composite_length(); + return buffer_->read_composite_length(); } uint8_t& at(std::size_t i){ - return buffer_.read(i); + return buffer_->read(i); } const uint8_t& at(std::size_t i) const { - return buffer_.read(i); + return buffer_->read(i); } }; |