From 142aec37e12a59531dede2b5f85fd114c786d0c3 Mon Sep 17 00:00:00 2001 From: Claudius 'keldu' Holeksa Date: Wed, 11 Sep 2024 14:43:11 +0200 Subject: Fixing and testing constexpr'ness --- modules/codec/c++/data.hpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'modules/codec/c++') 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::type value__): value_{std::move(value__)}{} - void set(typename native_data_type::type val){ + constexpr void set(typename native_data_type::type val){ value_ = val; } - typename native_data_type::type get() const {return value_;} + constexpr typename native_data_type::type get() const {return value_;} - data operator*(const data& rhs)const{ + constexpr data operator*(const data& rhs)const{ return {get() * rhs.get()}; } - data operator/(const data& rhs)const{ + constexpr data operator/(const data& rhs)const{ return {get() / rhs.get()}; } - data operator+(const data& rhs)const{ + constexpr data operator+(const data& rhs)const{ return {get() + rhs.get()}; } - data& operator+=(const data& rhs){ + constexpr data& operator+=(const data& rhs){ value_ += rhs.get(); return *this; } - data& operator-=(const data& rhs){ + constexpr data& operator-=(const data& rhs){ value_ -= rhs.get(); return *this; } - data operator-(const data& rhs)const{ + constexpr data operator-(const data& rhs)const{ return {get() - rhs.get()}; } - data& operator++() { + constexpr data& operator++() { set(get() + static_cast::type>(1)); return *this; } template - bool operator==(const data& rhs)const{ + constexpr bool operator==(const data& rhs)const{ return get() == rhs.get(); } template - bool operator<(const data& rhs) const { + constexpr bool operator<(const data& rhs) const { return get() < rhs.get(); } @@ -186,7 +186,7 @@ public: * Casts */ template - data cast_to() const { + constexpr data cast_to() const { auto raw_to = static_cast::type>(value_); return {raw_to}; } -- cgit v1.2.3