Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qnativeinterface_p.h
Go to the documentation of this file.
1// Copyright (C) 2021 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QNATIVEINTERFACE_P_H
5#define QNATIVEINTERFACE_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtCore/private/qglobal_p.h>
19#include <QtCore/qloggingcategory.h>
20
22
23QT_DECLARE_EXPORTED_QT_LOGGING_CATEGORY(lcNativeInterface, Q_CORE_EXPORT)
24
25// Provides a definition for the interface destructor
26#define QT_DEFINE_NATIVE_INTERFACE_2(Namespace, InterfaceClass)
27 QT_PREPEND_NAMESPACE(Namespace)::InterfaceClass::~InterfaceClass() = default
28
29#define QT_DEFINE_NATIVE_INTERFACE(...)
30 QT_OVERLOADED_MACRO(QT_DEFINE_NATIVE_INTERFACE, QNativeInterface, __VA_ARGS__)
31#define QT_DEFINE_PRIVATE_NATIVE_INTERFACE(...)
32 QT_OVERLOADED_MACRO(QT_DEFINE_NATIVE_INTERFACE, QNativeInterface::Private, __VA_ARGS__)
33
34#define QT_NATIVE_INTERFACE_RETURN_IF(NativeInterface, baseType)
35 {
36 using QNativeInterface::Private::TypeInfo;
37 qCDebug(lcNativeInterface, "Comparing requested interface name %s with available %s",
38 name, TypeInfo<NativeInterface>::name());
39 if (qstrcmp(name, TypeInfo<NativeInterface>::name()) == 0) {
40 qCDebug(lcNativeInterface,
41 "Match for interface %s. Comparing revisions (requested %d / available %d)",
42 name, revision, TypeInfo<NativeInterface>::revision());
43 if (revision == TypeInfo<NativeInterface>::revision()) {
44 qCDebug(lcNativeInterface, "Full match. Returning dynamic cast of %p", baseType);
45 return dynamic_cast<NativeInterface *>(baseType);
46 } else {
47 qCWarning(lcNativeInterface,
48 "Native interface revision mismatch (requested %d / available %d) for "
49 "interface %s",
50 revision, TypeInfo<NativeInterface>::revision(), name);
51 return nullptr;
52 }
53 } else {
54 qCDebug(lcNativeInterface, "No match for requested interface name %s", name);
55 }
56 }
57
58QT_END_NAMESPACE
59
60#endif // QNATIVEINTERFACE_P_H
\inmodule QtCore\reentrant
Definition qdatastream.h:50
\inmodule QtCore\reentrant
Definition qdatetime.h:318
\inmodule QtCore \reentrant
Definition qdatetime.h:29
\inmodule QtCore
Definition qdir.h:22
constexpr bool operator==(iterator o) const
Definition qlist.h:236
constexpr bool operator<(iterator other) const
Definition qlist.h:238
constexpr bool operator<(const_iterator other) const
Definition qlist.h:232
const_iterator operator-(qsizetype j) const
Definition qlist.h:270
constexpr bool operator==(pointer p) const
Definition qlist.h:243
const T & reference
Definition qlist.h:212
constexpr bool operator>(const_iterator other) const
Definition qlist.h:234
std::random_access_iterator_tag iterator_category
Definition qlist.h:210
const T & operator[](qsizetype j) const
Definition qlist.h:221
const_iterator & operator-=(qsizetype j)
Definition qlist.h:268
constexpr const_iterator(iterator o)
Definition qlist.h:218
constexpr const_iterator()=default
const T & operator*() const
Definition qlist.h:219
constexpr bool operator!=(const_iterator o) const
Definition qlist.h:231
const_iterator operator+(qsizetype j) const
Definition qlist.h:269
const T * pointer
Definition qlist.h:211
constexpr bool operator<=(iterator other) const
Definition qlist.h:239
const value_type element_type
Definition qlist.h:209
const_iterator & operator++()
Definition qlist.h:245
constexpr bool operator!=(pointer p) const
Definition qlist.h:244
constexpr bool operator>(iterator other) const
Definition qlist.h:240
qsizetype operator-(const_iterator j) const
Definition qlist.h:249
constexpr bool operator==(const_iterator o) const
Definition qlist.h:230
constexpr bool operator>=(iterator other) const
Definition qlist.h:241
const_iterator operator--(int)
Definition qlist.h:248
const_iterator & operator--()
Definition qlist.h:247
const_iterator operator++(int)
Definition qlist.h:246
constexpr bool operator!=(iterator o) const
Definition qlist.h:237
const_iterator & operator+=(qsizetype j)
Definition qlist.h:267
friend const_iterator operator+(qsizetype j, const_iterator k)
Definition qlist.h:271
constexpr bool operator<=(const_iterator other) const
Definition qlist.h:233
const T * operator->() const
Definition qlist.h:220
constexpr bool operator>=(const_iterator other) const
Definition qlist.h:235
constexpr bool operator>(iterator other) const
Definition qlist.h:154
iterator operator+(qsizetype j) const
Definition qlist.h:189
iterator & operator-=(qsizetype j)
Definition qlist.h:188
T & operator[](qsizetype j) const
Definition qlist.h:145
iterator & operator++()
Definition qlist.h:165
constexpr bool operator<(const_iterator other) const
Definition qlist.h:158
constexpr bool operator!=(pointer p) const
Definition qlist.h:164
constexpr bool operator<=(iterator other) const
Definition qlist.h:153
constexpr bool operator!=(iterator o) const
Definition qlist.h:151
constexpr bool operator<=(const_iterator other) const
Definition qlist.h:159
T & operator*() const
Definition qlist.h:143
iterator operator++(int)
Definition qlist.h:166
constexpr bool operator>(const_iterator other) const
Definition qlist.h:160
constexpr bool operator>=(iterator other) const
Definition qlist.h:155
constexpr bool operator<(iterator other) const
Definition qlist.h:152
friend iterator operator+(qsizetype j, iterator k)
Definition qlist.h:191
std::random_access_iterator_tag iterator_category
Definition qlist.h:135
constexpr bool operator!=(const_iterator o) const
Definition qlist.h:157
constexpr bool operator==(const_iterator o) const
Definition qlist.h:156
constexpr bool operator>=(const_iterator other) const
Definition qlist.h:161
qsizetype operator-(iterator j) const
Definition qlist.h:169
iterator & operator--()
Definition qlist.h:167
constexpr iterator()=default
T * operator->() const
Definition qlist.h:144
iterator operator-(qsizetype j) const
Definition qlist.h:190
value_type element_type
Definition qlist.h:134
constexpr bool operator==(iterator o) const
Definition qlist.h:150
iterator & operator+=(qsizetype j)
Definition qlist.h:187
constexpr bool operator==(pointer p) const
Definition qlist.h:163
iterator operator--(int)
Definition qlist.h:168
Definition qlist.h:81
void append(const_iterator i1, const_iterator i2)
Definition qlist.h:904
void pop_back() noexcept
Definition qlist.h:749
iterator insert(const_iterator before, parameter_type t)
Definition qlist.h:556
void removeFirst() noexcept
Definition qlist.h:881
QList< T > & fill(parameter_type t, qsizetype size=-1)
Definition qlist.h:977
const_pointer constData() const noexcept
Definition qlist.h:498
void push_front(rvalue_ref t)
Definition qlist.h:747
T & first()
Definition qlist.h:715
T & last()
Definition qlist.h:718
QList(const String &str)
Definition qlist.h:357
const_iterator begin() const noexcept
Definition qlist.h:698
bool isDetached() const noexcept
Definition qlist.h:492
void removeAt(qsizetype i)
Definition qlist.h:660
reference back()
Definition qlist.h:759
QList< T > last(qsizetype n) const
Definition qlist.h:727
bool isSharedWith(const QList< T > &other) const
Definition qlist.h:494
QList< T > & operator+=(const QList< T > &l)
Definition qlist.h:768
QList< T > operator+(const QList< T > &l) &&
Definition qlist.h:772
reference emplaceFront(Args &&... args)
Definition qlist.h:926
reference emplace_back(Args &&... args)
Definition qlist.h:753
const T & constLast() const noexcept
Definition qlist.h:720
iterator erase(const_iterator begin, const_iterator end)
Definition qlist.h:963
iterator Iterator
Definition qlist.h:274
void resizeForOverwrite(qsizetype size)
Definition qlist.h:480
QList< T > sliced(qsizetype pos, qsizetype n) const
Definition qlist.h:731
QList(std::initializer_list< T > args)
Definition qlist.h:319
constexpr qsizetype max_size() const noexcept
Definition qlist.h:762
QTypeTraits::compare_eq_result_container< QList, U > operator==(const QList &other) const
Definition qlist.h:396
iterator insert(qsizetype i, parameter_type t)
Definition qlist.h:553
bool empty() const noexcept
Definition qlist.h:755
bool removeOne(const AT &t)
Definition qlist.h:668
QList< T > toList() const noexcept
Definition qlist.h:793
QList(InputIterator i1, InputIterator i2)
Definition qlist.h:334
static QList< T > fromReadOnlyData(const T(&t)[N]) noexcept
Definition qlist.h:799
static QList< T > fromList(const QList< T > &list) noexcept
Definition qlist.h:792
QList(qsizetype size, parameter_type t)
Definition qlist.h:310
const_reference back() const noexcept
Definition qlist.h:760
qsizetype capacity() const
Definition qlist.h:487
void swapItemsAt(qsizetype i, qsizetype j)
Definition qlist.h:737
void push_back(parameter_type t)
Definition qlist.h:745
void shrink_to_fit()
Definition qlist.h:761
QList< T > operator+(const QList< T > &l) const &
Definition qlist.h:770
void detach()
Definition qlist.h:491
const_iterator end() const noexcept
Definition qlist.h:699
iterator erase(const_iterator pos)
Definition qlist.h:712
bool endsWith(parameter_type t) const
Definition qlist.h:722
qsizetype count(const AT &t) const noexcept
Definition qlist.h:655
bool startsWith(parameter_type t) const
Definition qlist.h:721
const T * const_pointer
Definition qlist.h:101
friend qsizetype QtPrivate::lastIndexOf(const QList< V > &list, const U &u, qsizetype from) noexcept
iterator end()
Definition qlist.h:696
QList< T > operator+(QList< T > &&l) &&
Definition qlist.h:776
T takeAt(qsizetype i)
Definition qlist.h:679
std::reverse_iterator< iterator > reverse_iterator
Definition qlist.h:276
const_reference at(qsizetype i) const noexcept
Definition qlist.h:511
value_type takeFirst()
Definition qlist.h:636
constexpr qsizetype size() const noexcept
Definition qlist.h:457
QList< T > sliced(qsizetype pos) const
Definition qlist.h:729
QList< T > toVector() const noexcept
Definition qlist.h:796
T value(qsizetype i) const
Definition qlist.h:734
void swap(QList &other) noexcept
Definition qlist.h:371
iterator insert(const_iterator before, qsizetype n, parameter_type t)
Definition qlist.h:561
QList< T > & operator=(std::initializer_list< T > args)
Definition qlist.h:328
void move(qsizetype from, qsizetype to)
Definition qlist.h:680
QList(DataPointer dd) noexcept
Definition qlist.h:295
const_reverse_iterator crbegin() const noexcept
Definition qlist.h:708
T * pointer
Definition qlist.h:100
reference operator[](qsizetype i)
Definition qlist.h:516
const_iterator constBegin() const noexcept
Definition qlist.h:702
const_reference operator[](qsizetype i) const noexcept
Definition qlist.h:522
const_reverse_iterator rbegin() const noexcept
Definition qlist.h:706
constexpr QList() noexcept=default
void remove(qsizetype i, qsizetype n=1)
Definition qlist.h:868
value_type takeLast()
Definition qlist.h:637
const DataPointer & data_ptr() const &
Definition qlist.h:115
qsizetype removeIf(Predicate pred)
Definition qlist.h:674
reference front()
Definition qlist.h:757
DataPointer & data_ptr() &
Definition qlist.h:114
std::reverse_iterator< const_iterator > const_reverse_iterator
Definition qlist.h:277
qsizetype removeAll(const AT &t)
Definition qlist.h:662
iterator emplace(qsizetype i, Args &&... args)
Definition qlist.h:947
const T & first() const noexcept
Definition qlist.h:716
iterator insert(qsizetype i, qsizetype n, parameter_type t)
Definition qlist.h:935
void append(QList< T > &&l)
Definition qlist.h:910
T & reference
Definition qlist.h:102
void squeeze()
Definition qlist.h:847
reference emplaceBack(Args &&... args)
Definition qlist.h:956
QList< T > mid(qsizetype pos, qsizetype len=-1) const
Definition qlist.h:1049
reverse_iterator rend()
Definition qlist.h:705
QTypeTraits::compare_lt_result_container< QList, U > operator>(const QList &other) const noexcept(noexcept(other< std::declval< QList< U > >()))
Definition qlist.h:426
T value_type
Definition qlist.h:99
void prepend(rvalue_ref t)
Definition qlist.h:538
QList< T > operator+(QList< T > &&l) const &
Definition qlist.h:774
QList & assign(std::initializer_list< T > l)
Definition qlist.h:591
iterator begin()
Definition qlist.h:695
void resize(qsizetype size, parameter_type c)
Definition qlist.h:474
QList< T > first(qsizetype n) const
Definition qlist.h:725
const T & constFirst() const noexcept
Definition qlist.h:717
static constexpr qsizetype maxSize()
Definition qlist.h:456
iterator emplace(const_iterator before, Args &&... args)
Definition qlist.h:600
void reserve(qsizetype size)
Definition qlist.h:823
QList & assign(InputIterator first, InputIterator last)
Definition qlist.h:588
static QList< T > fromVector(const QList< T > &vector) noexcept
Definition qlist.h:795
void replace(qsizetype i, parameter_type t)
Definition qlist.h:613
reverse_iterator rbegin()
Definition qlist.h:704
void pop_front() noexcept
Definition qlist.h:750
constexpr bool isEmpty() const noexcept
Definition qlist.h:466
pointer data()
Definition qlist.h:496
const T & const_reference
Definition qlist.h:103
const T & last() const noexcept
Definition qlist.h:719
constexpr qsizetype count() const noexcept
Definition qlist.h:463
void removeLast() noexcept
Definition qlist.h:889
void resize(qsizetype size)
Definition qlist.h:468
friend auto compareThreeWay(const QList &lhs, const QList &rhs)
Definition qlist.h:377
T Type
Definition qlist.h:98
const_iterator cend() const noexcept
Definition qlist.h:701
void append(parameter_type t)
Definition qlist.h:523
QList< T > & operator+=(parameter_type t)
Definition qlist.h:778
QTypeTraits::compare_eq_result_container< QList, U > operator!=(const QList &other) const
Definition qlist.h:408
const_iterator constEnd() const noexcept
Definition qlist.h:703
const_reverse_iterator rend() const noexcept
Definition qlist.h:707
T value(qsizetype i, parameter_type defaultValue) const
Definition qlist.h:898
const_iterator cbegin() const noexcept
Definition qlist.h:700
QList & assign(qsizetype n, parameter_type t)
Definition qlist.h:581
QTypeTraits::compare_lt_result_container< QList, U > operator>=(const QList &other) const noexcept(noexcept(std::declval< QList< U > >()< other))
Definition qlist.h:440
const_pointer data() const noexcept
Definition qlist.h:497
constexpr qsizetype length() const noexcept
Definition qlist.h:464
void clear()
Definition qlist.h:499
const_reference front() const noexcept
Definition qlist.h:758
QList< T > & operator+=(QList< T > &&l)
Definition qlist.h:769
friend qsizetype QtPrivate::indexOf(const QList< V > &list, const U &u, qsizetype from) noexcept
DataPointer && data_ptr() &&
Definition qlist.h:116
void append(const QList< T > &l)
Definition qlist.h:533
const_iterator ConstIterator
Definition qlist.h:275
const_reverse_iterator crend() const noexcept
Definition qlist.h:709
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:177
\inmodule QtCore \reentrant
Definition qdatetime.h:250
Combined button and popup list for selecting options.
QString && asString(QString &&s)
Definition qstring.h:1679
constexpr QAnyStringArg qStringLikeToArg(QAnyStringView s) noexcept
Definition qstring.h:1741
qsizetype indexOf(const QList< T > &vector, const U &u, qsizetype from) noexcept
Definition qlist.h:1001
const QString & asString(const QString &s)
Definition qstring.h:1678
qsizetype lastIndexOf(const QList< T > &vector, const U &u, qsizetype from) noexcept
Definition qlist.h:1016
qsizetype lastIndexOf(const QList< V > &list, const U &u, qsizetype from) noexcept
qsizetype indexOf(const QList< V > &list, const U &u, qsizetype from) noexcept
static constexpr qsizetype lengthHelperPointer(const Char *data) noexcept
std::is_same< Char, char32_t > IsCompatibleChar32TypeHelper
Definition qstring.h:57
constexpr bool isLatin1(QLatin1StringView s) noexcept
Definition qstring.h:77
QString operator""_s(const char16_t *str, size_t size) noexcept
Definition qstring.h:1787
Definition qcompare.h:110
QByteArrayView qToByteArrayViewIgnoringNull(const QByteArrayLike &b) noexcept
Q_DECLARE_TYPEINFO(QByteArrayView, Q_PRIMITIVE_TYPE)
#define __has_builtin(x)
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
Definition qdir.cpp:2582
Q_LOGGING_CATEGORY(lcEventDispatcher, "qt.eventdispatcher")
Q_CORE_EXPORT Q_DECL_CONST_FUNCTION unsigned int qt_int_sqrt(unsigned int n)
\inmodule QtCore \title Global Qt Declarations
Definition qglobal.cpp:99
qsizetype erase(QList< T > &list, const AT &t)
Definition qlist.h:1081
QList(InputIterator, InputIterator) -> QList< ValueType >
qsizetype erase_if(QList< T > &list, Predicate pred)
Definition qlist.h:1087
#define QT_DECLARE_NATIVE_INTERFACE(...)
#define QT_DECLARE_NATIVE_INTERFACE_3(NativeInterface, Revision, BaseType)
#define QT_DEFINE_NATIVE_INTERFACE(...)
QString operator+(const QString &s1, QChar s2)
Definition qstring.h:1560
QString operator+(QString &&lhs, const QString &rhs)
Definition qstring.h:1558
qsizetype erase_if(QString &s, Predicate pred)
Definition qstring.h:1779
#define QT_UNICODE_LITERAL(str)
Definition qstring.h:1813
QString operator+(QString &&lhs, QChar rhs)
Definition qstring.h:1562
QString operator+(QChar s1, const QString &s2)
Definition qstring.h:1564
QString operator+(const QString &s1, const QString &s2)
Definition qstring.h:1556
qsizetype erase(QString &s, const T &t)
Definition qstring.h:1773
QList< QList< qInternalCallback > > callbacks
Definition qglobal.cpp:128
qsizetype indexOf(const AT &t, qsizetype from=0) const noexcept
Definition qlist.h:1036
const Self * self() const
Definition qlist.h:40
bool contains(const AT &t) const noexcept
Definition qlist.h:49
QListSpecialMethodsBase()=default
qsizetype lastIndexOf(const AT &t, qsizetype from=-1) const noexcept
Definition qlist.h:1043
QListSpecialMethods()=default
static constexpr char const * name()
static constexpr bool isCompatibleHelper()
constexpr QAnyStringArg(QAnyStringView v) noexcept
Definition qstring.h:1725
QAnyStringView string
Definition qstring.h:1723
QLatin1StringView string
Definition qstring.h:1717
constexpr QLatin1StringArg(QLatin1StringView v) noexcept
Definition qstring.h:1719
constexpr QStringViewArg(QStringView v) noexcept
Definition qstring.h:1713