summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudius 'keldu' Holeksa <mail@keldu.de>2024-08-16 11:43:09 +0200
committerClaudius 'keldu' Holeksa <mail@keldu.de>2024-08-16 11:43:09 +0200
commit0410ab46c60be115067ca4ea3c5f6538a74206ea (patch)
tree72dda396c04a39159eac94aae0228ab0b7e7f7ec
parent610508e74654725f2a8ca66ced71081d0e02fc14 (diff)
Changed to own<buffer> from ring_buffer
-rw-r--r--modules/codec-json/c++/json.hpp21
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);
}
};