qcocoahelpers: make qtKey2CocoaKeySortLessThan a function object

This allows all compilers to inline the function call into the
std::sort instantiation.

Change-Id: I3d831ee9160dd89208f42b258ff2463f942a7630
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
bb10
Marc Mutz 2014-08-17 20:35:23 +02:00
parent b693900da5
commit 05bcc9d2fc
1 changed files with 8 additions and 4 deletions

View File

@ -269,10 +269,14 @@ bool operator<(const KeyPair &entry, const Qt::Key &key)
return entry.qtKey < key;
}
static bool qtKey2CocoaKeySortLessThan(const KeyPair &entry1, const KeyPair &entry2)
struct qtKey2CocoaKeySortLessThan
{
return entry1.qtKey < entry2.qtKey;
}
typedef bool result_type;
Q_DECL_CONSTEXPR result_type operator()(const KeyPair &entry1, const KeyPair &entry2) const Q_DECL_NOTHROW
{
return entry1.qtKey < entry2.qtKey;
}
};
static const int NumEntries = 59;
static const KeyPair entries[NumEntries] = {
@ -352,7 +356,7 @@ QChar qt_mac_qtKey2CocoaKey(Qt::Key key)
mustInit = false;
for (int i=0; i<NumEntries; ++i)
rev_entries[i] = entries[i];
std::sort(rev_entries.begin(), rev_entries.end(), qtKey2CocoaKeySortLessThan);
std::sort(rev_entries.begin(), rev_entries.end(), qtKey2CocoaKeySortLessThan());
}
const QVector<KeyPair>::iterator i
= std::lower_bound(rev_entries.begin(), rev_entries.end(), key);