From 8f60184447dec94e54ef90a4b4a4ca316dfba970 Mon Sep 17 00:00:00 2001 From: David Crocker Date: Wed, 8 Jan 2020 19:29:11 +0000 Subject: Added Move.Axes to object model --- src/ObjectModel/ObjectModel.h | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'src/ObjectModel/ObjectModel.h') diff --git a/src/ObjectModel/ObjectModel.h b/src/ObjectModel/ObjectModel.h index 9ffb5f57..bde3eabd 100644 --- a/src/ObjectModel/ObjectModel.h +++ b/src/ObjectModel/ObjectModel.h @@ -30,15 +30,16 @@ class ObjectModelArrayDescriptor; // forward declaration template constexpr TypeCode TypeOf() noexcept; template<> constexpr TypeCode TypeOf() noexcept { return 1; } -template<> constexpr TypeCode TypeOf() noexcept { return 2; } -template<> constexpr TypeCode TypeOf() noexcept { return 3; } -template<> constexpr TypeCode TypeOf() noexcept { return 4; } -template<> constexpr TypeCode TypeOf() noexcept { return 5; } -template<> constexpr TypeCode TypeOf() noexcept { return 6; } -template<> constexpr TypeCode TypeOf() noexcept { return 7; } -template<> constexpr TypeCode TypeOf() noexcept { return 8; } -template<> constexpr TypeCode TypeOf() noexcept { return 9; } -template<> constexpr TypeCode TypeOf() noexcept { return 10; } +template<> constexpr TypeCode TypeOf() noexcept { return 2; } +template<> constexpr TypeCode TypeOf() noexcept { return 3; } +template<> constexpr TypeCode TypeOf() noexcept { return 4; } +template<> constexpr TypeCode TypeOf() noexcept { return 5; } +template<> constexpr TypeCode TypeOf() noexcept { return 6; } +template<> constexpr TypeCode TypeOf() noexcept { return 7; } +template<> constexpr TypeCode TypeOf() noexcept { return 8; } +template<> constexpr TypeCode TypeOf() noexcept { return 9; } +template<> constexpr TypeCode TypeOf() noexcept { return 10; } +template<> constexpr TypeCode TypeOf() noexcept { return 11; } #define TYPE_OF(_t) (TypeOf<_t>()) @@ -61,6 +62,7 @@ struct ExpressionValue union { bool bVal; + char cVal; float fVal; int32_t iVal; uint32_t uVal; // used for enumerations, bitmaps and IP addresses (not for integers, we always use int32_t for those) @@ -71,6 +73,7 @@ struct ExpressionValue ExpressionValue() noexcept : type(NoType) { } explicit constexpr ExpressionValue(bool b) noexcept : type(TYPE_OF(bool)), param(0), bVal(b) { } + explicit constexpr ExpressionValue(char c) noexcept : type(TYPE_OF(char)), param(0), cVal(c) { } explicit constexpr ExpressionValue(float f) noexcept : type(TYPE_OF(float)), param(1), fVal(f) { } constexpr ExpressionValue(float f, uint8_t numDecimalPlaces) noexcept : type(TYPE_OF(float)), param(numDecimalPlaces), fVal(f) { } explicit constexpr ExpressionValue(int32_t i) noexcept : type(TYPE_OF(int32_t)), param(0), iVal(i) { } @@ -82,6 +85,7 @@ struct ExpressionValue explicit constexpr ExpressionValue(nullptr_t dummy) noexcept : type(NoType), param(0), uVal(0) { } void Set(bool b) noexcept { type = TYPE_OF(bool); bVal = b; } + void Set(char c) noexcept { type = TYPE_OF(char); cVal = c; } void Set(int32_t i) noexcept { type = TYPE_OF(int32_t); iVal = i; } void Set(int i) noexcept { type = TYPE_OF(int32_t); iVal = i; } void Set(float f) noexcept { type = TYPE_OF(float); fVal = f; param = 1; } -- cgit v1.2.3