QUtf8StringView Class
Die Klasse QUtf8StringView bietet eine einheitliche Sicht auf UTF-8-Strings mit einer schreibgeschützten Teilmenge der QString API. Mehr...
Kopfzeile: | #include <QUtf8StringView> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
Seit: | Qt 6.0 |
- Liste aller Mitglieder, einschließlich vererbter Mitglieder
- Veraltete Mitglieder
- QUtf8StringView ist Teil von Classes for String Data.
Diese Klasse ist stark vergleichbar.
Diese Klasse ist stark vergleichbar mit char16_t, QChar, const char16_t *, QString, QStringView, und QLatin1StringView.
Diese Klasse ist stark vergleichbar mit const char *, QByteArray, und QByteArrayView.
Der Inhalt von Byte-Arrays wird als utf-8 interpretiert.
Hinweis: Alle Funktionen in dieser Klasse sind reentrant.
Öffentliche Typen
const_iterator | |
const_pointer | |
const_reference | |
const_reverse_iterator | |
difference_type | |
iterator | |
pointer | |
reference | |
reverse_iterator | |
size_type | |
storage_type | |
value_type |
Öffentliche Funktionen
QUtf8StringView() | |
QUtf8StringView(const Char (&)[N] string) | |
QUtf8StringView(const Char *str) | |
QUtf8StringView(const Container &str) | |
QUtf8StringView(std::nullptr_t) | |
QUtf8StringView(const Char *first, const Char *last) | |
QUtf8StringView(const Char *str, qsizetype len) | |
QUtf8StringView::storage_type | at(qsizetype n) const |
QUtf8StringView::storage_type | back() const |
QUtf8StringView::const_iterator | begin() const |
QUtf8StringView::const_iterator | cbegin() const |
QUtf8StringView::const_iterator | cend() const |
void | chop(qsizetype n) |
QUtf8StringView | chopped(qsizetype n) const |
(since 6.5) int | compare(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.5) int | compare(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.5) int | compare(QUtf8StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
QUtf8StringView::const_reverse_iterator | crbegin() const |
QUtf8StringView::const_reverse_iterator | crend() const |
QUtf8StringView::const_pointer | data() const |
bool | empty() const |
QUtf8StringView::const_iterator | end() const |
QUtf8StringView | first(qsizetype n) const |
QUtf8StringView::storage_type | front() const |
bool | isEmpty() const |
bool | isNull() const |
(since 6.3) bool | isValidUtf8() const |
QUtf8StringView | last(qsizetype n) const |
qsizetype | length() const |
(since 6.8) qsizetype | max_size() const |
QUtf8StringView::const_reverse_iterator | rbegin() const |
QUtf8StringView::const_reverse_iterator | rend() const |
qsizetype | size() const |
(since 6.8) QUtf8StringView & | slice(qsizetype pos, qsizetype n) |
(since 6.8) QUtf8StringView & | slice(qsizetype pos) |
QUtf8StringView | sliced(qsizetype pos) const |
QUtf8StringView | sliced(qsizetype pos, qsizetype n) const |
QString | toString() const |
void | truncate(qsizetype n) |
const char8_t * | utf8() const |
(since 6.7) std::basic_string_view<QUtf8StringView::storage_type> | operator std::basic_string_view<QUtf8StringView::storage_type>() const |
QUtf8StringView::storage_type | operator[](qsizetype n) const |
Statische öffentliche Mitglieder
Detaillierte Beschreibung
Eine QUtf8StringView referenziert einen zusammenhängenden Teil eines UTF-8 Strings, den sie nicht besitzt. Er fungiert als Schnittstellentyp für alle Arten von UTF-8-Strings, ohne dass zuvor ein QString oder QByteArray konstruiert werden muss.
Der UTF-8-String kann als Array (oder eine Array-kompatible Datenstruktur wie std::basic_string, etc.) von char8_t
, char
, signed char
oder unsigned char
dargestellt werden.
QUtf8StringView ist als Schnittstellentyp konzipiert; sein Hauptanwendungsfall ist ein Funktionsparametertyp. Wenn QUtf8StringViews als automatische Variablen oder Datenmitglieder verwendet werden, muss darauf geachtet werden, dass die referenzierten Stringdaten (z. B. im Besitz eines std::u8string) die QUtf8StringView auf allen Codepfaden überdauern, damit die Stringansicht nicht auf gelöschte Daten verweist.
Wenn QUtf8StringView als Schnittstellentyp verwendet wird, kann eine einzelne Funktion eine Vielzahl von UTF-8 String-Datenquellen akzeptieren. Eine Funktion, die QUtf8StringView akzeptiert, ersetzt somit mehrere Funktionsüberladungen (z. B. QByteArray) und ermöglicht gleichzeitig die Übergabe von noch mehr String-Datenquellen an die Funktion, wie z. B. u8"Hello World"
, ein char8_t
(C++20) oder char
(C++17) String-Literal. Die char8_t
Inkompatibilität zwischen C++17 und C++20 entfällt bei Verwendung von QUtf8StringView.
Wie alle Ansichten sollten QUtf8StringViews als Wert und nicht als Referenz-zu-Konst übergeben werden:
void myfun1(QUtf8StringView sv); // preferred void myfun2(const QUtf8StringView &sv); // compiles and works, but slower
Wenn Sie Ihren Benutzern maximale Freiheit bei der Übergabe von Strings an Ihre Funktion geben wollen, sollten Sie stattdessen QAnyStringView verwenden.
QUtf8StringView kann auch als Rückgabewert einer Funktion verwendet werden. Wenn Sie eine Funktion aufrufen, die QUtf8StringView zurückgibt, achten Sie besonders darauf, dass die QUtf8StringView nicht länger als die Funktion verspricht, die referenzierten Zeichenkettendaten am Leben zu erhalten. Im Zweifelsfall erhalten Sie eine starke Referenz auf die Daten, indem Sie toString() aufrufen, um die QUtf8StringView in eine QString zu konvertieren.
QUtf8StringView ist ein Literal-Typ.
Kompatible Zeichentypen
QUtf8StringView akzeptiert Strings über eine Vielzahl von Zeichentypen:
char
(sowohl mit als auch ohne Vorzeichen)char8_t
(nur C++20)
Größen und Sub-Strings
Alle Größen und Positionen in QUtf8StringView-Funktionen sind in UTF-8-Codepunkten (d.h. UTF-8-Multibyte-Sequenzen zählen als zwei, drei oder vier, abhängig von ihrer Länge). QUtf8StringView versucht nicht, das Schneiden durch UTF-8-Multibyte-Sequenzen zu erkennen oder zu verhindern. Dies ist vergleichbar mit der Situation bei QStringView und Surrogatpaaren.
C++20, char8_t, und QUtf8StringView
In C++20 änderten u8""
String-Literale ihren Typ von const char[]
zu const char8_t[]
. Wenn Qt 6 von C++20 hätte abhängen können, würde QUtf8StringView char8_t
nativ speichern, und die folgenden Funktionen und Aliase würden (Zeiger auf) char8_t
verwenden:
- storage_type, value_type, etc
- begin(), end(), data(), etc
- front(), back(), at(), operator[]()
So soll QUtf8StringView in Qt 7 aussehen, aber für Qt 6 war dies nicht möglich. Anstatt die Benutzer für das nächste Jahrzehnt an eine Schnittstelle aus der C++17-Ära zu binden, bietet Qt zwei QUtf8StringView-Klassen in verschiedenen (Inline-)Namespaces. Die erste, im Namespace q_no_char8_t
, hat eine value_type von const char
und ist universell verfügbar. Die zweite, im Namespace q_has_char8_t
, hat einen value_type von const char8_t
und ist nur verfügbar, wenn im C++20-Modus kompiliert wird.
q_no_char8_t
ist unabhängig von der C++-Edition ein Inline-Namensraum, um versehentliche Binärinkompatibilitäten zu vermeiden. Um die Version char8_t
zu verwenden, müssen Sie sie explizit mit q_has_char8_t::QUtf8StringView
benennen.
Intern sind beide Instanziierungen der gleichen Template-Klasse, QBasicUtf8StringView. Bitte verwenden Sie nicht den Namen der Vorlagenklasse in Ihrem Quellcode.
Siehe auch QAnyStringView, QUtf8StringView, und QString.
Dokumentation der Mitgliedstypen
QUtf8StringView::const_iterator
Dieses Typedef bietet einen STL-ähnlichen Konst-Iterator für QUtf8StringView.
Siehe auch iterator und const_reverse_iterator.
QUtf8StringView::const_pointer
Alias für value_type *
. Wird aus Gründen der Kompatibilität mit der STL bereitgestellt.
QUtf8StringView::const_reference
Alias für value_type &
. Wird aus Gründen der Kompatibilität mit der STL bereitgestellt.
QUtf8StringView::const_reverse_iterator
Dieses Typedef bietet einen STL-ähnlichen const Reverse-Iterator für QUtf8StringView.
Siehe auch reverse_iterator und const_iterator.
QUtf8StringView::difference_type
Alias für std::ptrdiff_t
. Wird aus Gründen der Kompatibilität mit der STL bereitgestellt.
QUtf8StringView::iterator
Dieses Typedef bietet einen STL-ähnlichen konstanten Iterator für QUtf8StringView.
QUtf8StringView unterstützt keine veränderlichen Iteratoren, daher ist dies dasselbe wie const_iterator.
Siehe auch const_iterator und reverse_iterator.
QUtf8StringView::pointer
Alias für value_type *
. Wird aus Kompatibilitätsgründen mit der STL bereitgestellt.
QUtf8StringView unterstützt keine veränderlichen Zeiger, daher ist dies dasselbe wie const_pointer.
QUtf8StringView::reference
Alias für value_type &
. Wird aus Kompatibilitätsgründen mit der STL bereitgestellt.
QUtf8StringView unterstützt keine veränderlichen Referenzen, daher ist dies dasselbe wie const_reference.
QUtf8StringView::reverse_iterator
Dieses Typedef bietet einen STL-ähnlichen const Reverse-Iterator für QUtf8StringView.
QUtf8StringView unterstützt keine veränderbaren Reverse-Iteratoren, so dass dies dasselbe ist wie const_reverse_iterator.
Siehe auch const_reverse_iterator und iterator.
QUtf8StringView::size_type
Alias für qsizetype. Wird aus Kompatibilitätsgründen mit der STL bereitgestellt.
[alias]
QUtf8StringView::storage_type
Alias für char
.
QUtf8StringView::value_type
Alias für const char
. Wird aus Kompatibilitätsgründen mit der STL bereitgestellt.
Dokumentation der Mitgliedsfunktionen
[noexcept, since 6.5]
int QUtf8StringView::compare(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
[noexcept, since 6.5]
int QUtf8StringView::compare(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
[noexcept, since 6.5]
int QUtf8StringView::compare(QUtf8StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Vergleicht diese Zeichenkettenansicht mit str und gibt eine negative Ganzzahl zurück, wenn diese Zeichenkettenansicht kleiner als str ist, eine positive Ganzzahl, wenn sie größer als str ist, und Null, wenn sie gleich sind.
Wenn cs gleich Qt::CaseSensitive ist (die Vorgabe), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Diese Funktion wurde in Qt 6.5 eingeführt.
[constexpr noexcept]
QUtf8StringView::QUtf8StringView()
Konstruiert eine Null-String-Ansicht.
Siehe auch isNull().
[constexpr noexcept]
template <typename Char, size_t N> QUtf8StringView::QUtf8StringView(const Char (&)[N] string)
Konstruiert eine Zeichenkettenansicht für das Zeichenfolgenliteral string. Die Ansicht deckt das Array ab, bis das erste Char(0)
gefunden wird, oder N
, je nachdem, was zuerst eintritt. Wenn Sie das gesamte Array benötigen, verwenden Sie stattdessen fromArray().
string muss für die Lebensdauer dieses String-View-Objekts gültig bleiben.
Dieser Konstruktor nimmt nur an der Überladungsauflösung teil, wenn string ein tatsächliches Array ist und wenn Char
ein kompatibler Zeichentyp ist. Die kompatiblen Zeichentypen sind: char8_t
, char
, signed char
und unsigned char
.
Siehe auch fromArray().
[constexpr noexcept]
template <typename Char> QUtf8StringView::QUtf8StringView(const Char *str)
Konstruiert eine String-Ansicht auf str. Die Länge wird durch die Suche nach dem ersten Char(0)
bestimmt.
str muss während der gesamten Lebensdauer dieses Objekts gültig bleiben.
Die Übergabe von nullptr
als str ist sicher und führt zu einer Null-String-Ansicht.
Dieser Konstruktor nimmt nur an der Überladungsauflösung teil, wenn str kein Array ist und wenn Char
ein kompatibler Zeichentyp ist. Die kompatiblen Zeichentypen sind: char8_t
, char
, signed char
und unsigned char
.
[constexpr noexcept]
template <typename Container, QUtf8StringView::if_compatible_container<Container> = true> QUtf8StringView::QUtf8StringView(const Container &str)
Konstruiert eine String-Ansicht auf str. Die Länge wird von std::size(str)
übernommen.
std::data(str)
muss für die Lebensdauer dieses String-View-Objekts gültig bleiben.
Dieser Konstruktor nimmt nur an der Überlastauflösung teil, wenn Container
ein Container mit einem kompatiblen Zeichentyp wie value_type
ist. Die kompatiblen Zeichentypen sind: char8_t
, char
, signed char
und unsigned char
.
Die String-Ansicht ist leer, wenn und nur wenn std::size(str) == 0
. Es ist nicht spezifiziert, ob dieser Konstruktor zu einer Null-String-Ansicht führen kann (std::data(str)
müsste dazu nullptr
zurückgeben).
Siehe auch isNull() und isEmpty().
[constexpr noexcept]
QUtf8StringView::QUtf8StringView(std::nullptr_t)
Konstruiert eine Null-String-Ansicht.
Siehe auch isNull().
[constexpr]
template <typename Char, QUtf8StringView::if_compatible_char<Char> = true> QUtf8StringView::QUtf8StringView(const Char *first, const Char *last)
Konstruiert eine String-Ansicht auf first mit der Länge (last - first).
Der Bereich [first,last)
muss während der Lebensdauer dieses Objekts gültig bleiben.
Die Übergabe von \nullptr
als first ist sicher, wenn last auch nullptr
ist, und führt zu einer Null-String-Ansicht.
Das Verhalten ist undefiniert, wenn last vor first steht, oder first ist nullptr
und last nicht.
Dieser Konstruktor nimmt nur an der Überlastauflösung teil, wenn Char
ein kompatibler Zeichentyp ist. Die kompatiblen Zeichentypen sind: char8_t
, char
, signed char
und unsigned char
.
[constexpr]
template <typename Char, QUtf8StringView::if_compatible_char<Char> = true> QUtf8StringView::QUtf8StringView(const Char *str, qsizetype len)
Konstruiert eine String-Ansicht auf str mit der Länge len.
Der Bereich [str,len)
muss während der Lebensdauer dieses String View-Objekts gültig bleiben.
Die Übergabe von nullptr
als str ist sicher, wenn len ebenfalls 0 ist, und führt zu einer Null-String-Ansicht.
Das Verhalten ist undefiniert, wenn len negativ ist oder, wenn positiv, wenn str nullptr
ist.
Dieser Konstruktor nimmt nur an der Überlastauflösung teil, wenn Char
ein kompatibler Zeichentyp ist. Die kompatiblen Zeichentypen sind: char8_t
, char
, signed char
und unsigned char
.
[constexpr]
QUtf8StringView::storage_type QUtf8StringView::at(qsizetype n) const
Gibt die Codestelle an der Position n in dieser Zeichenfolgenansicht zurück.
Das Verhalten ist undefiniert, wenn n negativ oder nicht kleiner als size() ist.
Siehe auch operator[](), front(), und back().
[constexpr]
QUtf8StringView::storage_type QUtf8StringView::back() const
Gibt den letzten Codepunkt in der Zeichenkettenansicht zurück. Dasselbe wie last().
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt.
Warnung: Der Aufruf dieser Funktion bei einer leeren String-Ansicht führt zu undefiniertem Verhalten.
Siehe auch front().
[noexcept]
QUtf8StringView::const_iterator QUtf8StringView::begin() const
Gibt einen const STL-artigen Iterator zurück, der auf den ersten Codepunkt in der String-Ansicht zeigt.
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt.
Siehe auch end(), cbegin(), rbegin(), und data().
[noexcept]
QUtf8StringView::const_iterator QUtf8StringView::cbegin() const
Dasselbe wie begin().
Diese Funktion ist aus Gründen der STL-Kompatibilität vorgesehen.
Siehe auch cend(), begin(), crbegin(), und data().
[noexcept]
QUtf8StringView::const_iterator QUtf8StringView::cend() const
Dasselbe wie end().
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt.
Siehe auch cbegin(), end(), und crend().
[constexpr]
void QUtf8StringView::chop(qsizetype n)
Schneidet diese Zeichenkettenansicht um n Codepunkte ab.
Dasselbe wie *this = first(size() - n)
.
Hinweis: Das Verhalten ist undefiniert, wenn n < 0 oder n > size().
Siehe auch sliced(), first(), last(), chopped(), und truncate().
[constexpr]
QUtf8StringView QUtf8StringView::chopped(qsizetype n) const
Gibt die Teilzeichenkette der Länge size() - n zurück, die am Anfang dieses Objekts beginnt.
Dasselbe wie first(size() - n)
.
Hinweis: Das Verhalten ist undefiniert, wenn n < 0 oder n > size().
Siehe auch sliced(), first(), last(), chop(), truncate(), und slice().
[noexcept]
QUtf8StringView::const_reverse_iterator QUtf8StringView::crbegin() const
Dasselbe wie rbegin().
Diese Funktion ist aus Gründen der STL-Kompatibilität vorgesehen.
Siehe auch crend(), rbegin(), und cbegin().
[noexcept]
QUtf8StringView::const_reverse_iterator QUtf8StringView::crend() const
Dasselbe wie rend().
Diese Funktion ist aus Gründen der STL-Kompatibilität vorgesehen.
Siehe auch crbegin(), rend(), und cend().
[constexpr noexcept]
QUtf8StringView::const_pointer QUtf8StringView::data() const
Gibt einen Konstantenzeiger auf den ersten Codepunkt in der Zeichenkettenansicht zurück.
Hinweis: Das durch den Rückgabewert dargestellte Zeichenarray ist nicht null-terminiert.
Siehe auch begin(), end(), und utf8().
[constexpr noexcept]
bool QUtf8StringView::empty() const
Gibt zurück, ob diese String-Ansicht leer ist, d. h. ob size() == 0
.
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt.
Siehe auch isEmpty(), isNull(), size(), und length().
[noexcept]
QUtf8StringView::const_iterator QUtf8StringView::end() const
Gibt einen const STL-artigen Iterator zurück, der auf den imaginären Codepunkt nach dem letzten Codepunkt in der Liste zeigt.
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt.
Siehe auch begin(), cend(), und rend().
[constexpr]
QUtf8StringView QUtf8StringView::first(qsizetype n) const
Gibt eine String-Ansicht zurück, die die ersten n Codepunkte dieser String-Ansicht enthält.
Hinweis: Das Verhalten ist undefiniert, wenn n < 0 oder n > size().
Siehe auch last(), sliced(), chopped(), chop(), truncate(), und slice().
[static constexpr noexcept]
template <typename Char, size_t Size, QUtf8StringView::if_compatible_char<Char> = true> QUtf8StringView QUtf8StringView::fromArray(const Char (&)[Size] string)
Konstruiert eine Zeichenkettenansicht für das vollständige Zeichenfolgenliteral string, einschließlich aller nachgestellten Char(0)
. Wenn Sie nicht möchten, dass der Null-Terminator in der Ansicht enthalten ist, können Sie ihn mit chop() entfernen, wenn Sie sicher sind, dass er am Ende steht. Alternativ können Sie die Konstruktorüberladung mit einem Array-Literal verwenden, das eine Ansicht bis zum ersten Null-Terminator in den Daten, aber ohne diesen, erzeugt.
string muss für die Lebensdauer dieses String-View-Objekts gültig bleiben.
Diese Funktion funktioniert mit jedem Array-Literal, wenn Char
ein kompatibler Zeichentyp ist. Die kompatiblen Zeichentypen sind: char8_t
, char
, signed char
und unsigned char
.
[constexpr]
QUtf8StringView::storage_type QUtf8StringView::front() const
Gibt den ersten Codepunkt in der Zeichenkettenansicht zurück. Dasselbe wie first().
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt.
Warnung: Der Aufruf dieser Funktion bei einer leeren String-Ansicht führt zu undefiniertem Verhalten.
Siehe auch back().
[constexpr noexcept]
bool QUtf8StringView::isEmpty() const
Gibt zurück, ob diese String-Ansicht leer ist - das heißt, ob size() == 0
.
Diese Funktion wird aus Kompatibilität mit anderen Qt-Containern bereitgestellt.
Siehe auch empty(), isNull(), size(), und length().
[constexpr noexcept]
bool QUtf8StringView::isNull() const
Gibt zurück, ob diese String-Ansicht null ist - das heißt, ob data() == nullptr
.
Diese Funktion ist für die Kompatibilität mit anderen Qt-Containern vorgesehen.
Siehe auch empty(), isEmpty(), size(), und length().
[noexcept, since 6.3]
bool QUtf8StringView::isValidUtf8() const
Gibt true
zurück, wenn dieser String gültige UTF-8 kodierte Daten enthält, oder andernfalls false
.
Diese Funktion wurde in Qt 6.3 eingeführt.
[constexpr]
QUtf8StringView QUtf8StringView::last(qsizetype n) const
Gibt eine String-Ansicht zurück, die die letzten n Codepunkte dieser String-Ansicht enthält.
Hinweis: Das Verhalten ist undefiniert, wenn n < 0 oder n > size().
Siehe auch first(), sliced(), chopped(), chop(), truncate(), und slice().
[constexpr noexcept]
qsizetype QUtf8StringView::length() const
Dasselbe wie size().
Diese Funktion wird aus Gründen der Kompatibilität mit anderen Qt-Containern bereitgestellt.
Siehe auch empty(), isEmpty(), isNull(), und size().
[static constexpr noexcept, since 6.8]
qsizetype QUtf8StringView::maxSize()
Sie gibt die maximale Anzahl von Elementen zurück, die die Ansicht theoretisch darstellen kann. In der Praxis kann die Anzahl viel kleiner sein, begrenzt durch den dem System zur Verfügung stehenden Speicher.
Diese Funktion wurde in Qt 6.8 eingeführt.
[constexpr noexcept, since 6.8]
qsizetype QUtf8StringView::max_size() const
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt.
Rückgabe maxSize().
Diese Funktion wurde in Qt 6.8 eingeführt.
[noexcept]
QUtf8StringView::const_reverse_iterator QUtf8StringView::rbegin() const
Gibt einen const STL-ähnlichen Reverse-Iterator zurück, der auf den ersten Codepunkt in der Zeichenkettenansicht in umgekehrter Reihenfolge zeigt.
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt.
Siehe auch rend(), crbegin(), und begin().
[noexcept]
QUtf8StringView::const_reverse_iterator QUtf8StringView::rend() const
Gibt einen umgekehrten Iterator im STL-Stil zurück, der in umgekehrter Reihenfolge auf einen Punkt hinter dem letzten Codepunkt in der Zeichenkettenansicht zeigt.
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt.
Siehe auch rbegin(), crend(), und end().
[constexpr noexcept]
qsizetype QUtf8StringView::size() const
Gibt die Größe dieser Zeichenkettenansicht in UTF-8-Codepunkten zurück (d. h. Multibyte-Sequenzen zählen für die Zwecke dieser Funktion als mehr als eine, genau wie die Surrogatpaare in QString und QStringView).
Siehe auch empty(), isEmpty(), isNull(), und length().
[constexpr, since 6.8]
QUtf8StringView &QUtf8StringView::slice(qsizetype pos, qsizetype n)
Ändert diese Zeichenkettenansicht so, dass sie an der Position pos beginnt und um die Codepunkte n erweitert wird.
Hinweis: Das Verhalten ist undefiniert, wenn pos < 0, n < 0, oder pos + n > size().
Diese Funktion wurde in Qt 6.8 eingeführt.
Siehe auch sliced(), first(), last(), chopped(), chop(), und truncate().
[constexpr, since 6.8]
QUtf8StringView &QUtf8StringView::slice(qsizetype pos)
Dies ist eine überladene Funktion.
Ändert diese Zeichenkettenansicht so, dass sie an der Position pos beginnt und bis zu ihrem Ende reicht.
Hinweis: Das Verhalten ist undefiniert, wenn pos < 0 oder pos > size().
Diese Funktion wurde in Qt 6.8 eingeführt.
Siehe auch sliced(), first(), last(), chopped(), chop(), und truncate().
[constexpr]
QUtf8StringView QUtf8StringView::sliced(qsizetype pos) const
Gibt eine Zeichenkettenansicht zurück, die an der Position pos in diesem Objekt beginnt und bis zu dessen Ende reicht.
Hinweis: Das Verhalten ist undefiniert, wenn pos < 0 oder pos > size().
Siehe auch first(), last(), chopped(), chop(), truncate(), und slice().
[constexpr]
QUtf8StringView QUtf8StringView::sliced(qsizetype pos, qsizetype n) const
Gibt eine String-Ansicht zurück, die n Codepunkte dieser String-Ansicht enthält, beginnend an der Position pos.
Hinweis: Das Verhalten ist undefiniert, wenn pos < 0, n < 0, oder pos + n > size().
Siehe auch first(), last(), chopped(), chop(), truncate(), und slice().
QString QUtf8StringView::toString() const
Gibt eine tiefe Kopie der Daten dieser Zeichenfolgenansicht als QString zurück.
Der Rückgabewert ist null QString, wenn und nur wenn diese String-Ansicht null ist.
[constexpr]
void QUtf8StringView::truncate(qsizetype n)
Kürzt diese Zeichenkettenansicht auf n Codepunkte ab.
Dasselbe wie *this = first(n)
.
Hinweis: Das Verhalten ist undefiniert, wenn n < 0 oder n > size().
Siehe auch sliced(), first(), last(), chopped(), und chop().
[noexcept]
const char8_t *QUtf8StringView::utf8() const
Gibt einen Konstantenzeiger auf den ersten Codepunkt in der Zeichenkettenansicht zurück.
Das Ergebnis wird als const char8_t*
zurückgegeben, so dass diese Funktion nur beim Kompilieren im C++20-Modus verfügbar ist.
Hinweis: Das durch den Rückgabewert dargestellte Zeichenarray ist nicht null-terminiert.
Siehe auch begin(), end(), und data().
[noexcept, since 6.7]
std::basic_string_view<QUtf8StringView::storage_type> QUtf8StringView::operator std::basic_string_view<QUtf8StringView::storage_type>() const
Konvertiert dieses QUtf8StringView Objekt in ein std::basic_string_view
Objekt. Die zurückgegebene Ansicht hat denselben Datenzeiger und dieselbe Länge wie diese Ansicht. Der Zeichentyp der zurückgegebenen Ansicht wird storage_type
sein.
Diese Funktion wurde in Qt 6.7 eingeführt.
[constexpr]
QUtf8StringView::storage_type QUtf8StringView::operator[](qsizetype n) const
Gibt die Codestelle an der Position n in dieser Zeichenfolgenansicht zurück.
Das Verhalten ist undefiniert, wenn n negativ oder nicht kleiner als size() ist.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.