diff options
| author | Thiago Macieira <thiago.macieira@intel.com> | 2024-08-18 13:22:41 -0700 |
|---|---|---|
| committer | Thiago Macieira <thiago.macieira@intel.com> | 2024-10-04 10:44:57 -0700 |
| commit | 2effeb25c040aef58d1e241525de758e1a6f659b (patch) | |
| tree | fbdba71798be6078bc4a58eddb4c1cd2747d6d29 /src/corelib/kernel/qmetaobjectbuilder.cpp | |
| parent | 39bb305416dd89785af431d76a08154f246c34f6 (diff) | |
Long live 64-bit QFlags
This commit removes the limitation on size that QFlags used to have,
allowing up to 64 bits. We could increase to 128 bits at this time, but
I'm choosing not to allow this yet, due to limitations in handling
128-bit integers in QMetaObject & QMetaObjectBuilder. The API wouldn't
be cross-platform.
This commit duplicates the tst_QFlags into a new tst_QFlags64. It
restores the tst_QVariant state to how it was before (even though it
doesn't actually test the QMetaEnum functionality).
[ChangeLog][QtCore][QFlags] Now supports 64-bit enumerations, with the
same syntax, including extraction into QMetaObject using the Q_FLAG and
Q_DECLARE_FLAGS markers. Note the QFlag helper class remains 32-bit
wide. Creation of a 64-bit QFlags from a generic integer can be achieved
by passing a std::in_place first argument.
Fixes: QTBUG-111926
Change-Id: Ifb754f0e28774c20aa7cfffd17e7fc1d16baf8e4
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
Diffstat (limited to 'src/corelib/kernel/qmetaobjectbuilder.cpp')
0 files changed, 0 insertions, 0 deletions
