Some more constexpr in esm/variant.cpp

dont-compose-content
jvoisin 4 years ago
parent 00c41e55a4
commit 17e0c75d30

@ -10,20 +10,20 @@
namespace namespace
{ {
const uint32_t STRV = ESM::FourCC<'S','T','R','V'>::value; constexpr uint32_t STRV = ESM::FourCC<'S','T','R','V'>::value;
const uint32_t INTV = ESM::FourCC<'I','N','T','V'>::value; constexpr uint32_t INTV = ESM::FourCC<'I','N','T','V'>::value;
const uint32_t FLTV = ESM::FourCC<'F','L','T','V'>::value; constexpr uint32_t FLTV = ESM::FourCC<'F','L','T','V'>::value;
const uint32_t STTV = ESM::FourCC<'S','T','T','V'>::value; constexpr uint32_t STTV = ESM::FourCC<'S','T','T','V'>::value;
template <typename T, bool orDefault = false> template <typename T, bool orDefault = false>
struct GetValue struct GetValue
{ {
T operator()(int value) const { return static_cast<T>(value); } constexpr T operator()(int value) const { return static_cast<T>(value); }
T operator()(float value) const { return static_cast<T>(value); } constexpr T operator()(float value) const { return static_cast<T>(value); }
template <typename V> template <typename V>
T operator()(const V&) const constexpr T operator()(const V&) const
{ {
if constexpr (orDefault) if constexpr (orDefault)
return T {}; return T {};

Loading…
Cancel
Save