diff options
| author | Marc Mutz <marc.mutz@kdab.com> | 2014-12-20 22:13:58 +0100 |
|---|---|---|
| committer | Marc Mutz <marc.mutz@kdab.com> | 2017-02-23 05:44:51 +0000 |
| commit | b952bd3605315465b1ceb90e0924707f781a9f9e (patch) | |
| tree | 3dbe0709710b50b46085dcf8e7bd739fff90baef /src/sql/kernel/qsqldatabase.cpp | |
| parent | 3ac8b8c6961bb5b2ae82bbaee154282c54bd0b90 (diff) | |
QSizePolicy: make (Policy,Policy) ctor constexpr
Unfortunately, that ctor also takes a ControlType argument (defaulted),
and calls the non-constexpr, non-inline function setControlType().
In order to make at least the two-arg version constexpr, I added
a use of the ternary operator to check for type == DefaultType,
making all calls of the ctor that use type == DefaultType
constexpr. For init'ing an aggregate type without ctor in the
ctor-init-list, I needed to require uniform initialization, too.
C++11-style constexpr cannot call void functions, so I needed
to extract the transformation part of setControlType() into a
new function that returns the result instead of storing it directly.
Saves a surprising 2K in QtWidgets text size on GCC 4.9, AMD64 Linux
stripped release builds.
Change-Id: Ib4adf5fd6e54d5345dbfe1c298554278faf13c58
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Diffstat (limited to 'src/sql/kernel/qsqldatabase.cpp')
0 files changed, 0 insertions, 0 deletions
