summaryrefslogtreecommitdiffhomepage
path: root/proto-vjoystick
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2018-02-15 09:06:13 +0100
committerStanislaw Halik <sthalik@misaki.pl>2018-02-15 10:23:11 +0100
commit0a92bc147f91f3ecacdf66d995f01f9577107a86 (patch)
treed748f1b081cd37eb2b4a6cd6b5254433ba8b8dab /proto-vjoystick
parentd8327db8025e56500ebb0bef2ab45aa8963a36ca (diff)
clean up "static" and "constexpr" types
- use `static constexpr inline' to avoid requiring explicit declarations in object code - use `const Foo* const' to maybe put into readonly binary segment (at least for ELF DSOs) - `constexpr' in function scope has storage, avoid `static' - don't use `constexpr' where there's no advantage, like arrays We'd like to avoid overhead of atomic initialization for each function call. No idea how `static constexpr' requiring storage in the standard plays with atomic initialization requirement. Hearsay points that `constexpr' without `static' in block scope behaves more to our liking. It's all hazy though. I'm not 100% sure if `static inline constexpr' has any storage. Hopefully none, like a #define, and stuff bigger than registers gets coalesced within the same module, with small stuff being immediates.
Diffstat (limited to 'proto-vjoystick')
-rw-r--r--proto-vjoystick/vjoystick.cpp10
-rw-r--r--proto-vjoystick/vjoystick.h10
2 files changed, 9 insertions, 11 deletions
diff --git a/proto-vjoystick/vjoystick.cpp b/proto-vjoystick/vjoystick.cpp
index 73cf74c6..e5e18157 100644
--- a/proto-vjoystick/vjoystick.cpp
+++ b/proto-vjoystick/vjoystick.cpp
@@ -39,7 +39,15 @@ const unsigned char handle::axis_ids[6] =
// HID_USAGE_WHL,
};
-constexpr double handle::val_minmax[6];
+static const double val_minmax[6] =
+{
+ 50,
+ 50,
+ 50,
+ 180,
+ 180,
+ 180
+};
void handle::init()
{
diff --git a/proto-vjoystick/vjoystick.h b/proto-vjoystick/vjoystick.h
index 6469a4e6..72dde0f0 100644
--- a/proto-vjoystick/vjoystick.h
+++ b/proto-vjoystick/vjoystick.h
@@ -30,16 +30,6 @@ private:
LONG axis_min[6];
LONG axis_max[6];
- static constexpr double val_minmax[6] =
- {
- 50,
- 50,
- 50,
- 180,
- 180,
- 180
- };
-
void init();
public:
handle();