summaryrefslogtreecommitdiff
path: root/modules/codec/c++/data.h
diff options
context:
space:
mode:
Diffstat (limited to 'modules/codec/c++/data.h')
-rw-r--r--modules/codec/c++/data.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/modules/codec/c++/data.h b/modules/codec/c++/data.h
index 2dffdbe..eb24841 100644
--- a/modules/codec/c++/data.h
+++ b/modules/codec/c++/data.h
@@ -383,6 +383,7 @@ private:
typename native_data_type<schema::Primitive<T,N>>::type value_;
public:
data():value_{}{}
+
SAW_DEFAULT_COPY(data);
SAW_DEFAULT_MOVE(data);
@@ -394,6 +395,22 @@ public:
}
typename native_data_type<schema::Primitive<T,N>>::type get() const {return value_;}
+
+ data<schema::Primitive<T,N>, encode::Native> operator*(const saw::data<schema::Primitive<T,N>, encode::Native>& rhs)const{
+ return {get() * rhs.get()};
+ }
+
+ data<schema::Primitive<T,N>, encode::Native> operator/(const saw::data<schema::Primitive<T,N>, encode::Native>& rhs)const{
+ return {get() / rhs.get()};
+ }
+
+ data<schema::Primitive<T,N>, encode::Native> operator+(const saw::data<schema::Primitive<T,N>, encode::Native>& rhs)const{
+ return {get() + rhs.get()};
+ }
+
+ data<schema::Primitive<T,N>, encode::Native> operator-(const saw::data<schema::Primitive<T,N>, encode::Native>& rhs)const{
+ return {get() - rhs.get()};
+ }
};