Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qpageranges.h
Go to the documentation of this file.
1// Copyright (C) 2020 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 QPAGERANGES_H
5#define QPAGERANGES_H
6
7#include <QtGui/qtguiglobal.h>
8#include <QtCore/qstring.h>
9#include <QtCore/qlist.h>
10#include <QtCore/qshareddata.h>
11#include <QtCore/qmetatype.h>
12
14
15class QDebug;
16class QDataStream;
19
20class Q_GUI_EXPORT QPageRanges
21{
22public:
25
26 QPageRanges(const QPageRanges &other) noexcept;
28
29 QPageRanges(QPageRanges &&other) noexcept = default;
30 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QPageRanges)
32 { d.swap(other.d); }
33
34 friend bool operator==(const QPageRanges &lhs, const QPageRanges &rhs) noexcept
35 { return lhs.isEqual(rhs); }
36 friend bool operator!=(const QPageRanges &lhs, const QPageRanges &rhs) noexcept
37 { return !lhs.isEqual(rhs); }
38
39 struct Range {
40 int from = -1;
41 int to = -1;
42 bool contains(int pageNumber) const noexcept
43 { return from <= pageNumber && to >= pageNumber; }
44 friend bool operator==(Range lhs, Range rhs) noexcept
45 { return lhs.from == rhs.from && lhs.to == rhs.to; }
46 friend bool operator!=(Range lhs, Range rhs) noexcept
47 { return !(lhs == rhs); }
48 friend bool operator<(Range lhs, Range rhs) noexcept
49 { return lhs.from < rhs.from || (!(rhs.from < lhs.from) && lhs.to < rhs.to); }
50 };
51
52 void addPage(int pageNumber);
53 void addRange(int from, int to);
54 QList<Range> toRangeList() const;
55 void clear();
56
57 QString toString() const;
58 static QPageRanges fromString(const QString &ranges);
59
60 bool contains(int pageNumber) const;
61 bool isEmpty() const;
62 int firstPage() const;
63 int lastPage() const;
64
65 void detach();
66
67private:
68 bool isEqual(const QPageRanges &other) const noexcept;
69
70 QExplicitlySharedDataPointer<QPageRangesPrivate> d;
71};
72
73#ifndef QT_NO_DATASTREAM
74Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QPageRanges &);
76#endif
77
78#ifndef QT_NO_DEBUG_STREAM
79Q_GUI_EXPORT QDebug operator<<(QDebug dbg, const QPageRanges &pageRanges);
80#endif
81
82Q_DECLARE_SHARED(QPageRanges)
84
86
88
89#endif // QPAGERANGES_H
static bool isEqual(const aiUVTransform &a, const aiUVTransform &b)
\inmodule QtCore\reentrant
Definition qdatastream.h:46
\inmodule QtCore
The QPageRanges class represents a collection of page ranges.
Definition qpageranges.h:21
friend bool operator==(const QPageRanges &lhs, const QPageRanges &rhs) noexcept
Definition qpageranges.h:34
QPageRanges(const QPageRanges &other) noexcept
Constructs a QPageRanges object by copying other.
QPageRanges()
Constructs an empty QPageRanges object.
QPageRanges & operator=(const QPageRanges &other) noexcept
Assigns other to this QPageRanges object.
friend bool operator!=(const QPageRanges &lhs, const QPageRanges &rhs) noexcept
Definition qpageranges.h:36
QPageRanges(QPageRanges &&other) noexcept=default
Constructs a QPageRanges object by moving from other.
~QPageRanges()
Destroys the page ranges.
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
b clear()
Combined button and popup list for selecting options.
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
#define QT_DECL_METATYPE_EXTERN(TYPE, EXPORT)
Definition qmetatype.h:1388
static bool contains(const QJsonArray &haystack, unsigned needle)
Definition qopengl.cpp:116
Q_GUI_EXPORT QDataStream & operator>>(QDataStream &, QPageRanges &)
Q_GUI_EXPORT QDataStream & operator<<(QDataStream &, const QPageRanges &)
static bool fromString(const QMetaObject *mo, QString s, Allocate &&allocate)
#define QT_DECLARE_QESDP_SPECIALIZATION_DTOR_WITH_EXPORT(Class, ExportMacro)
@ Q_RELOCATABLE_TYPE
Definition qtypeinfo.h:158
#define Q_DECLARE_TYPEINFO(TYPE, FLAGS)
Definition qtypeinfo.h:180
QSharedPointer< T > other(t)
[5]
this swap(other)
char * toString(const MyType &t)
[31]
\inmodule QtGui
Definition qpageranges.h:39
friend bool operator!=(Range lhs, Range rhs) noexcept
Definition qpageranges.h:46
bool contains(int pageNumber) const noexcept
\variable QPageRanges::Range::from
Definition qpageranges.h:42
friend bool operator==(Range lhs, Range rhs) noexcept
Definition qpageranges.h:44
friend bool operator<(Range lhs, Range rhs) noexcept
Definition qpageranges.h:48