diff options
-rw-r--r-- | modules/codec-unit/c++/unit.hpp | 7 | ||||
-rw-r--r-- | modules/codec-unit/c++/unit.tmpl.hpp | 4 |
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; } |