diff options
Diffstat (limited to 'modules/codec')
-rw-r--r-- | modules/codec/c++/data.hpp | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/modules/codec/c++/data.hpp b/modules/codec/c++/data.hpp index f55d870..b14d785 100644 --- a/modules/codec/c++/data.hpp +++ b/modules/codec/c++/data.hpp @@ -135,50 +135,50 @@ public: data(typename native_data_type<Schema>::type value__): value_{std::move(value__)}{} - void set(typename native_data_type<Schema>::type val){ + constexpr void set(typename native_data_type<Schema>::type val){ value_ = val; } - typename native_data_type<Schema>::type get() const {return value_;} + constexpr typename native_data_type<Schema>::type get() const {return value_;} - data<Schema, encode::Native> operator*(const data<Schema, encode::Native>& rhs)const{ + constexpr data<Schema, encode::Native> operator*(const data<Schema, encode::Native>& rhs)const{ return {get() * rhs.get()}; } - data<Schema, encode::Native> operator/(const data<Schema, encode::Native>& rhs)const{ + constexpr data<Schema, encode::Native> operator/(const data<Schema, encode::Native>& rhs)const{ return {get() / rhs.get()}; } - data<Schema, encode::Native> operator+(const data<Schema, encode::Native>& rhs)const{ + constexpr data<Schema, encode::Native> operator+(const data<Schema, encode::Native>& rhs)const{ return {get() + rhs.get()}; } - data<Schema, encode::Native>& operator+=(const data<Schema, encode::Native>& rhs){ + constexpr data<Schema, encode::Native>& operator+=(const data<Schema, encode::Native>& rhs){ value_ += rhs.get(); return *this; } - data<Schema, encode::Native>& operator-=(const data<Schema, encode::Native>& rhs){ + constexpr data<Schema, encode::Native>& operator-=(const data<Schema, encode::Native>& rhs){ value_ -= rhs.get(); return *this; } - data<Schema, encode::Native> operator-(const data<Schema, encode::Native>& rhs)const{ + constexpr data<Schema, encode::Native> operator-(const data<Schema, encode::Native>& rhs)const{ return {get() - rhs.get()}; } - data<Schema, encode::Native>& operator++() { + constexpr data<Schema, encode::Native>& operator++() { set(get() + static_cast<typename native_data_type<Schema>::type>(1)); return *this; } template<typename Enc> - bool operator==(const data<Schema, Enc>& rhs)const{ + constexpr bool operator==(const data<Schema, Enc>& rhs)const{ return get() == rhs.get(); } template<typename Enc> - bool operator<(const data<Schema, Enc>& rhs) const { + constexpr bool operator<(const data<Schema, Enc>& rhs) const { return get() < rhs.get(); } @@ -186,7 +186,7 @@ public: * Casts */ template<typename Target> - data<Target, encode::Native> cast_to() const { + constexpr data<Target, encode::Native> cast_to() const { auto raw_to = static_cast<typename saw::native_data_type<Target>::type>(value_); return {raw_to}; } |