4#ifndef QQMLJSANNOTATION_P_H
5#define QQMLJSANNOTATION_P_H
17#include <QtCore/qglobal.h>
18#include <QtCore/qhash.h>
31 using Value = std::variant<QString, double>;
40 return a.name ==
b.name &&
41 a.bindings ==
b.bindings;
54 size_t h = combine(
seed,
it.key());
57 const auto &
var =
it.value();
59 if (
var.index() == std::variant_npos)
62 if (std::holds_alternative<double>(
var))
63 seed += combine(
h, std::get<double>(
var));
64 else if (std::holds_alternative<QString>(
var))
65 seed += combine(
h, std::get<QString>(
var));
const_iterator constEnd() const noexcept
Returns a const \l{STL-style iterators}{STL-style iterator} pointing to the imaginary item after the ...
const_iterator constBegin() const noexcept
Returns a const \l{STL-style iterators}{STL-style iterator} pointing to the first item in the hash.
\macro QT_RESTRICTED_CAST_FROM_ASCII
QSet< QString >::iterator it
Combined button and popup list for selecting options.
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
[7]
GLfloat GLfloat GLfloat GLfloat h
static Q_CONSTINIT QBasicAtomicInteger< unsigned > seed
QQQmlJSDeprecation deprecation() const
friend bool operator!=(const QQmlJSAnnotation &a, const QQmlJSAnnotation &b)
QHash< QString, Value > bindings
friend size_t qHash(const QQmlJSAnnotation &annotation, size_t seed=0)
friend bool operator==(const QQmlJSAnnotation &a, const QQmlJSAnnotation &b)
bool isDeprecation() const
std::variant< QString, double > Value