summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/codec-unit/c++/unit.hpp7
-rw-r--r--modules/codec-unit/c++/unit.tmpl.hpp4
2 files changed, 9 insertions, 2 deletions
diff --git a/modules/codec-unit/c++/unit.hpp b/modules/codec-unit/c++/unit.hpp
index 0e7bf74..227fdf2 100644
--- a/modules/codec-unit/c++/unit.hpp
+++ b/modules/codec-unit/c++/unit.hpp
@@ -29,6 +29,13 @@ public:
template<typename UnitRhs>
data<typename unit_division<Schema, UnitRhs>::Schema, encode::Native> operator/(const data<UnitRhs, encode::Native>& rhs) const;
+
+ /**
+ * Mostly for multiplication and division operator use
+ */
+ const data<BaseSchema, encode::Native>& handle() const {
+ return dat_;
+ }
};
}
diff --git a/modules/codec-unit/c++/unit.tmpl.hpp b/modules/codec-unit/c++/unit.tmpl.hpp
index 08edc4f..72708a9 100644
--- a/modules/codec-unit/c++/unit.tmpl.hpp
+++ b/modules/codec-unit/c++/unit.tmpl.hpp
@@ -27,7 +27,7 @@ template<typename UnitRhs>
data<typename unit_multiplication<schema::Unit<BaseSchema,Elements...>, UnitRhs>::Schema, encode::Native>
data<schema::Unit<BaseSchema, Elements...>, encode::Native>::operator*(const
data<UnitRhs, encode::Native>& rhs) const {
- auto mult = dat_ * rhs.dat_;
+ auto mult = dat_ * rhs.handle();
return mult;
}
@@ -36,7 +36,7 @@ template<typename UnitRhs>
data<typename unit_division<schema::Unit<BaseSchema,Elements...>, UnitRhs>::Schema, encode::Native>
data<schema::Unit<BaseSchema, Elements...>, encode::Native>::operator/(const
data<UnitRhs, encode::Native>& rhs) const {
- auto div = dat_ / rhs.dat_;
+ auto div = dat_ / rhs.handle();
return div;
}