diff --git a/include/characteristic.hpp b/include/characteristic.hpp index 65a208d..4affc87 100644 --- a/include/characteristic.hpp +++ b/include/characteristic.hpp @@ -29,7 +29,7 @@ namespace character::characteristic { std::uint32_t materiel{ 0 }; std::uint32_t additional{ 0 }; - static std::uint32_t get_base(const characType inType) noexcept { + static constexpr std::uint32_t get_base(const characType inType) noexcept { switch (inType) { case characType::Adresse: return 1; @@ -44,21 +44,21 @@ namespace character::characteristic { public: const characType type{ characType::Adresse }; - Characteristic() noexcept = default; + constexpr Characteristic() noexcept = default; - Characteristic(const characType inType, - const std::uint32_t carac, - const std::uint32_t materiel, - const std::uint32_t additional) : + constexpr Characteristic(const characType inType, + const std::uint32_t carac, + const std::uint32_t materiel, + const std::uint32_t additional) : base(get_base(inType)), carac(carac), materiel(materiel), additional(additional), type(inType) { (void) get_total(); } - explicit Characteristic(const characType inType) : Characteristic(inType, 0, 0, 0) {} + constexpr explicit Characteristic(const characType inType) : Characteristic(inType, 0, 0, 0) {} - Characteristic(const Characteristic &charac) noexcept = default; + constexpr Characteristic(const Characteristic &charac) noexcept = default; Characteristic &operator=(const Characteristic &charac) noexcept { const_cast(base) = charac.base;