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
q20iterator.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#ifndef Q20ITERATOR_H
4#define Q20ITERATOR_H
5
6#include <QtCore/qglobal.h>
7
8#include <iterator>
9
10//
11// W A R N I N G
12// -------------
13//
14// This file is not part of the Qt API. Types and functions defined in this
15// file can reliably be replaced by their std counterparts, once available.
16// You may use these definitions in your own code, but be aware that we
17// will remove them once Qt depends on the C++ version that supports
18// them in namespace std. There will be NO deprecation warning, the
19// definitions will JUST go away.
20//
21// If you can't agree to these terms, don't use these definitions!
22//
23// We mean it.
24//
25
27
28// like std::ssize
29namespace q20 {
30#ifdef __cpp_lib_ssize
31 using std::ssize;
32#else
33 template<class C> constexpr auto ssize(const C &c)
35 { return static_cast<std::common_type_t<std::ptrdiff_t, std::make_signed_t<decltype(c.size())>>>(c.size()); }
36
37 template<class T, std::ptrdiff_t N> constexpr std::ptrdiff_t ssize(const T (&)[N]) noexcept
38 { return N; }
39#endif
40} // namespace q20
41
42// like std::iter_reference_t
43namespace q20 {
44#ifdef __cpp_lib_ranges
45 using std::iter_reference_t;
46#else
47 template <typename Dereferencable> // unconstrained (constraint requires concepts)
48 using iter_reference_t = decltype(*std::declval<Dereferencable&>());
49#endif // __cpp_lib_ranges
50} // namespace q20
51
52QT_END_NAMESPACE
53
54#endif /* Q20ITERATOR_H */
The QCalendar class describes calendar systems.
Definition qcalendar.h:53
const QLocaleData *const m_data
Definition qlocale_p.h:619
QLocale::MeasurementSystem measurementSystem() const
Definition qlocale.cpp:3549
QByteArray bcp47Name(char separator='-') const
Definition qlocale.cpp:494
char32_t peekNext(char32_t invalidAs=QChar::ReplacementCharacter) const
char32_t next(char32_t invalidAs=QChar::ReplacementCharacter)
QStringIterator(const QChar *begin, qsizetype idx, const QChar *end)
QString::const_iterator position() const
char32_t previous(char32_t invalidAs=QChar::ReplacementCharacter)
QStringIterator(QStringView string, qsizetype idx=0)
bool hasNext() const
char32_t peekPreviousUnchecked() const
QStringIterator(const QChar *begin, const QChar *end)
char32_t peekNextUnchecked() const
qsizetype index() const
bool hasPrevious() const
void setPosition(QString::const_iterator position)
char32_t peekPrevious(char32_t invalidAs=QChar::ReplacementCharacter) const
char32_t previousUnchecked()
Definition qcompare.h:76
CaseSensitivity
@ CaseInsensitive
@ CaseSensitive
constexpr std::ptrdiff_t ssize(const T(&)[N]) noexcept
Definition q20iterator.h:37
decltype(*std::declval< Dereferencable & >()) iter_reference_t
Definition q20iterator.h:48
constexpr auto ssize(const C &c) -> std::common_type_t< std::ptrdiff_t, std::make_signed_t< decltype(c.size())> >
Definition q20iterator.h:33
Q_GLOBAL_STATIC(DefaultRoleNames, qDefaultRoleNames, { { Qt::DisplayRole, "display" }, { Qt::DecorationRole, "decoration" }, { Qt::EditRole, "edit" }, { Qt::ToolTipRole, "toolTip" }, { Qt::StatusTipRole, "statusTip" }, { Qt::WhatsThisRole, "whatsThis" }, }) const QHash< int
static unsigned calculateFlags(int fieldWidth, char32_t fillChar, const QLocale &locale)
Definition qlocale.cpp:2236
static QString calculateFiller(qsizetype padding, char32_t fillChar, qsizetype fieldWidth, const QLocaleData *localeData)
Definition qlocale.cpp:2250
QDebug operator<<(QDebug dbg, const QLocale &l)
Definition qlocale.cpp:5520
static QLocalePrivate * findLocalePrivate(QLocale::Language language, QLocale::Script script, QLocale::Territory territory)
Definition qlocale.cpp:1001
static std::optional< QString > systemLocaleString(const QLocaleData *that, QSystemLocale::QueryType type)
Definition qlocale.cpp:1048
static const QSystemLocale * systemLocale()
Definition qlocale.cpp:856
static bool checkParsed(QByteArrayView num, qsizetype used)
Definition qlocale.cpp:4925
static QString rawWeekDayName(const QLocaleData *data, const int day, QLocale::FormatType type)
Definition qlocale.cpp:3351
QDataStream & operator>>(QDataStream &ds, QLocale &l)
Definition qlocale.cpp:979
#define CheckCandidate(id)
static Q_DECL_COLD_FUNCTION void badSeparatorWarning(const char *method, char sep)
Definition qlocale.cpp:1537
static QString rawStandaloneWeekDayName(const QLocaleData *data, const int day, QLocale::FormatType type)
Definition qlocale.cpp:3375
static constexpr QLocale::NumberOptions defaultNumberOptions(QLocale::Language forLanguage)
Definition qlocale.cpp:795
static QStringView findTag(QStringView name) noexcept
Definition qlocale.cpp:642
static bool validTag(QStringView tag)
Definition qlocale.cpp:651
static qsizetype scriptIndex(QStringView code, Qt::CaseSensitivity cs) noexcept
Definition qlocale.cpp:184
static const QCalendarLocale & getMonthDataFor(const QLocalePrivate *loc, const QCalendarLocale *table)
Definition qlocale.cpp:3298
static T toIntegral_helper(const QLocalePrivate *d, QStringView str, bool *ok)
Definition qlocale.cpp:1585
static bool timeFormatContainsAP(QStringView format)
Definition qlocale.cpp:2457
size_t qHash(const QLocale &key, size_t seed) noexcept
Definition qlocale.cpp:1318
bool comparesEqual(const QLocale &loc, QLocale::Language lang)
Definition qlocale.cpp:1022
static qsizetype findLocaleIndexById(QLocaleId localeId) noexcept
Definition qlocale.cpp:504
static constexpr qsizetype locale_data_size
Definition qlocale.cpp:523
static void updateSystemPrivate()
Definition qlocale.cpp:868
static QString rawMonthName(const QCalendarLocale &localeData, const char16_t *monthsData, int month, QLocale::FormatType type)
Definition qlocale.cpp:3325
static qsizetype stringWidth(QStringView text)
Definition qlocale.cpp:2225
static QLocalePrivate * c_private() noexcept
Definition qlocale.cpp:789
static const QLocaleData * defaultData()
Definition qlocale.cpp:943
static QString rawStandaloneMonthName(const QCalendarLocale &localeData, const char16_t *monthsData, int month, QLocale::FormatType type)
Definition qlocale.cpp:3337
static QString localeString(const QLocaleData *that, QSystemLocale::QueryType type, QLocaleData::DataRange range)
Definition qlocale.cpp:1066
static const QLocaleData * systemData(qsizetype *sysIndex=nullptr)
Definition qlocale.cpp:903
static QString offsetFromAbbreviation(QString &&text)
Definition qlocale.cpp:3760
static qsizetype defaultIndex()
Definition qlocale.cpp:950
static constexpr char16_t single_character_data[]
static constexpr char16_t days_data[]
static constexpr QLocaleData locale_data[]
static constexpr QLocaleId likely_subtags[]
static constexpr unsigned char territory_code_list[]
static constexpr unsigned char script_code_list[]
bool qt_splitLocaleName(QStringView name, QStringView *lang=nullptr, QStringView *script=nullptr, QStringView *cntry=nullptr) noexcept
Definition qlocale.cpp:662
qsizetype qt_repeatCount(QStringView s) noexcept
Definition qlocale.cpp:775
QString qt_readEscapedFormatString(QStringView format, qsizetype *idx)
Definition qlocale.cpp:725
#define QStringLiteral(str)
Definition qstring.h:1826
char32_t ucsFirst(const char16_t *table) const
Definition qlocale_p.h:493
const GroupSizes grouping
Definition qlocale_p.h:371
QString positiveSign() const
Definition qlocale.cpp:1120
QString groupSeparator() const
Definition qlocale.cpp:1079
QSimpleParsedNumber< qint64 > stringToLongLong(QStringView str, int base, QLocale::NumberOptions options) const
Definition qlocale.cpp:4904
Q_AUTOTEST_EXPORT char32_t zeroUcs() const
Definition qlocale.cpp:1099
QString zeroDigit() const
Definition qlocale.cpp:1094
bool numberToCLocale(QStringView s, QLocale::NumberOptions number_options, NumberMode mode, CharBuff *result) const
Definition qlocale.cpp:4630
QString decimalPoint() const
Definition qlocale.cpp:1074
QString doubleToString(double d, int precision=-1, DoubleForm form=DFSignificantDigits, int width=-1, unsigned flags=NoFlags) const
Definition qlocale.cpp:4058
QLocaleId id() const
Definition qlocale_p.h:456
QString listSeparator() const
Definition qlocale.cpp:1089
QString percentSign() const
Definition qlocale.cpp:1084
@ AddTrailingZeroes
Definition qlocale_p.h:267
double stringToDouble(QStringView str, bool *ok, QLocale::NumberOptions options) const
Definition qlocale.cpp:4888
QString longLongToString(qint64 l, int precision=-1, int base=10, int width=-1, unsigned flags=NoFlags) const
Definition qlocale.cpp:4301
@ DoubleScientificMode
Definition qlocale_p.h:281
@ DFSignificantDigits
Definition qlocale_p.h:261
QString exponentSeparator() const
Definition qlocale.cpp:1125
QString negativeSign() const
Definition qlocale.cpp:1115
QSimpleParsedNumber< quint64 > stringToUnsLongLong(QStringView str, int base, QLocale::NumberOptions options) const
Definition qlocale.cpp:4915
QString unsLongLongToString(quint64 l, int precision=-1, int base=10, int width=-1, unsigned flags=NoFlags) const
Definition qlocale.cpp:4316
QLocaleId withLikelySubtagsAdded() const noexcept
Fill in blank fields of a locale ID.
Definition qlocale.cpp:326
QLocaleId withLikelySubtagsRemoved() const noexcept
Definition qlocale.cpp:415
ushort script_id
Definition qlocale_p.h:242
bool operator==(QLocaleId other) const noexcept
Definition qlocale_p.h:211
ushort territory_id
Definition qlocale_p.h:242
ushort language_id
Definition qlocale_p.h:242