summaryrefslogtreecommitdiff
path: root/src/codec/data.h
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2023-06-11 20:20:52 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2023-06-11 20:20:52 +0200
commit85398a9410a3ab36786c1e436986309ee6163f2f (patch)
tree7eb07905cdf63c8c1080219d0537baf1a75e5a71 /src/codec/data.h
parentb84b576a221684a39ef12891bafd233ba6289b09 (diff)
c++, codec-json: Added struct to json encoding and fixed a buffer bug on
the fly
Diffstat (limited to 'src/codec/data.h')
-rw-r--r--src/codec/data.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/codec/data.h b/src/codec/data.h
index 63bc752..469e214 100644
--- a/src/codec/data.h
+++ b/src/codec/data.h
@@ -94,6 +94,17 @@ public:
, encode::Native>& get(){
return std::get<parameter_key_pack_index<literal, literals...>::value>(value_);
}
+
+ template<string_literal literal>
+ const data<
+ typename parameter_pack_type<
+ parameter_key_pack_index<
+ literal, literals...
+ >::value
+ , T...>::type
+ , encode::Native>& get() const {
+ return std::get<parameter_key_pack_index<literal, literals...>::value>(value_);
+ }
constexpr size_t size() const {
return sizeof...(T);
@@ -140,8 +151,12 @@ class data<schema::Array<T>, encode::Native> {
data<T, encode::Native>& at(size_t i){
return value_.at(i);
}
+
+ const data<T, encode::Native>& at(size_t i) const {
+ return value_.at(i);
+ }
- size_t size() const { return value_;}
+ size_t size() const { return value_.size();}
};
template<>