From 562f1387cbb4584fdf22753d3abb226c8a918b80 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 19 May 2022 10:23:28 +0200 Subject: QKeySequence: constexpr ALL the things Constexpr acts as a static assertion that these objects don't incur runtime initialization overhead. Also mark some functions constexpr that can be. As a drive-by, rename relational operator arguments to the usual lhs, rhs. Task-number: QTBUG-100485 Change-Id: I73d2595ccb123f28459edf79ae8dc208f26cc364 Reviewed-by: Giuseppe D'Angelo --- src/gui/kernel/qkeysequence.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp index 047edf676b..6dd7df0b54 100644 --- a/src/gui/kernel/qkeysequence.cpp +++ b/src/gui/kernel/qkeysequence.cpp @@ -32,12 +32,12 @@ struct MacSpecialKey { // Unicode code points for the glyphs associated with these keys // Defined by Carbon headers but not anywhere in Cocoa -static const int kShiftUnicode = 0x21E7; -static const int kControlUnicode = 0x2303; -static const int kOptionUnicode = 0x2325; -static const int kCommandUnicode = 0x2318; +static constexpr int kShiftUnicode = 0x21E7; +static constexpr int kControlUnicode = 0x2303; +static constexpr int kOptionUnicode = 0x2325; +static constexpr int kCommandUnicode = 0x2318; -static const MacSpecialKey entries[] = { +static constexpr MacSpecialKey entries[] = { { Qt::Key_Escape, 0x238B }, { Qt::Key_Tab, 0x21E5 }, { Qt::Key_Backtab, 0x21E4 }, @@ -62,14 +62,14 @@ static const MacSpecialKey entries[] = { { Qt::Key_Eject, 0x23CF }, }; -static bool operator<(const MacSpecialKey &entry, int key) +static constexpr bool operator<(const MacSpecialKey &lhs, int rhs) { - return entry.key < key; + return lhs.key < rhs; } -static bool operator<(int key, const MacSpecialKey &entry) +static constexpr bool operator<(int lhs, const MacSpecialKey &rhs) { - return key < entry.key; + return lhs < rhs.key; } @@ -375,7 +375,7 @@ void Q_GUI_EXPORT qt_set_sequence_auto_mnemonic(bool b) { qt_sequence_no_mnemoni similar to the native text on Windows and X11. */ -static const struct { +static constexpr struct { int key; const char name[25]; } keyname[] = { @@ -1226,10 +1226,10 @@ QString QKeySequencePrivate::encodeString(int key, QKeySequence::SequenceFormat // for us, which means that we have to adjust our order here. // The upshot is a lot more infrastructure to keep the number of // if tests down and the code relatively clean. - static const int ModifierOrder[] = { Qt::META, Qt::ALT, Qt::SHIFT, Qt::CTRL, 0 }; - static const int QtKeyOrder[] = { Qt::Key_Meta, Qt::Key_Alt, Qt::Key_Shift, Qt::Key_Control, 0 }; - static const int DontSwapModifierOrder[] = { Qt::CTRL, Qt::ALT, Qt::SHIFT, Qt::META, 0 }; - static const int DontSwapQtKeyOrder[] = { Qt::Key_Control, Qt::Key_Alt, Qt::Key_Shift, Qt::Key_Meta, 0 }; + static constexpr int ModifierOrder[] = { Qt::META, Qt::ALT, Qt::SHIFT, Qt::CTRL, 0 }; + static constexpr int QtKeyOrder[] = { Qt::Key_Meta, Qt::Key_Alt, Qt::Key_Shift, Qt::Key_Control, 0 }; + static constexpr int DontSwapModifierOrder[] = { Qt::CTRL, Qt::ALT, Qt::SHIFT, Qt::META, 0 }; + static constexpr int DontSwapQtKeyOrder[] = { Qt::Key_Control, Qt::Key_Alt, Qt::Key_Shift, Qt::Key_Meta, 0 }; const int *modifierOrder; const int *qtkeyOrder; if (qApp->testAttribute(Qt::AA_MacDontSwapCtrlAndMeta)) { -- cgit v1.2.3