summaryrefslogtreecommitdiff
path: root/modules/codec/c++
diff options
context:
space:
mode:
Diffstat (limited to 'modules/codec/c++')
-rw-r--r--modules/codec/c++/data_math.hpp8
-rw-r--r--modules/codec/c++/schema.hpp4
2 files changed, 12 insertions, 0 deletions
diff --git a/modules/codec/c++/data_math.hpp b/modules/codec/c++/data_math.hpp
index 86336ad..3c55e37 100644
--- a/modules/codec/c++/data_math.hpp
+++ b/modules/codec/c++/data_math.hpp
@@ -83,6 +83,14 @@ public:
*/
data() = default;
+ data(const data<Inner,encode::Native>& inner_value__) requires (sizeof...(Dims) == 0u):
+ values_{inner_value__}
+ {}
+
+ data(const data<schema::FixedArray<Inner, Dims...>>& inner_values__) requires (sizeof...(Dims) > 0u):
+ values_{inner_values__}
+ {}
+
data<Inner, encode::Native>& at(const data<schema::FixedArray<schema::UInt64, sizeof...(Dims)>, encode::Native>& index){
return values_.at(index);
}
diff --git a/modules/codec/c++/schema.hpp b/modules/codec/c++/schema.hpp
index decc027..018cb41 100644
--- a/modules/codec/c++/schema.hpp
+++ b/modules/codec/c++/schema.hpp
@@ -31,7 +31,9 @@ template <typename Schema, string_literal Literal> struct Member {
static constexpr string_literal name = "Member";
using ValueType = Schema;
+ // To be deprecated
static constexpr string_literal KeyLiteral = Literal;
+ static constexpr string_literal Key = Literal;
};
template<typename Key, typename Value> struct Map {
@@ -114,6 +116,8 @@ class Ref {
template<typename Schema>
class Ptr {
static constexpr string_literal name = "Ptr";
+
+ using ValueType = Schema;
};
struct String {