From 0a92bc147f91f3ecacdf66d995f01f9577107a86 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Thu, 15 Feb 2018 09:06:13 +0100 Subject: 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. --- tracker-wii/wiiyourself/wiimote.h | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'tracker-wii/wiiyourself/wiimote.h') diff --git a/tracker-wii/wiiyourself/wiimote.h b/tracker-wii/wiiyourself/wiimote.h index 1db2c098..3588b7c7 100644 --- a/tracker-wii/wiiyourself/wiimote.h +++ b/tracker-wii/wiiyourself/wiimote.h @@ -8,12 +8,7 @@ // // wiimote.h (tab = 4 spaces) -#ifdef _MSC_VER // VC -# pragma once -#endif - -#ifndef _WIIMOTE_H -# define _WIIMOTE_H +#pragma once #define WIN32_LEAN_AND_MEAN #include @@ -165,7 +160,7 @@ class wiimote : public wiimote_state const wiimote_state &new_state) {}; // get the button name from its bit index (some bits are unused) - static const TCHAR* ButtonNameFromBit [TOTAL_BUTTON_BITS]; + static const TCHAR* const ButtonNameFromBit [TOTAL_BUTTON_BITS]; static const TCHAR* GetButtonNameFromBit (unsigned index) { _ASSERT(index < TOTAL_BUTTON_BITS); @@ -175,8 +170,8 @@ class wiimote : public wiimote_state } // same for the Classic Controller - static const TCHAR* ClassicButtonNameFromBit [TOTAL_BUTTON_BITS]; - static const TCHAR* GetClassicButtonNameFromBit (unsigned index) + static const TCHAR* const ClassicButtonNameFromBit [TOTAL_BUTTON_BITS]; + static const TCHAR* GetClassicButtonNameFromBit (unsigned index) { _ASSERT(index < TOTAL_BUTTON_BITS); if(index >= TOTAL_BUTTON_BITS) @@ -491,5 +486,3 @@ volatile int MotionPlusDetectCount; // waiting for the result unsigned ExtTriggerFlags;// extension changes " } Recording; }; - -#endif // _WIIMOTE_H \ No newline at end of file -- cgit v1.2.3