QUtf8StringView Class
Die Klasse „QUtf8StringView“ bietet eine einheitliche Ansicht von UTF-8-Zeichenketten mithilfe einer schreibgeschützten Teilmenge der „ QString “-API. Mehr...
| Header: | #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 geerbter Mitglieder
- Veraltete Mitglieder
- QUtf8StringView ist Teil der Klassen für Zeichenfolgendaten.
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
QUtf8StringView-Vergleiche
| Kategorie | Vergleichbare Typen | Beschreibung |
|---|---|---|
| strong | QUtf8StringView | |
| strong | char16_t, QChar, const char16_t *, QString, QStringView und QLatin1StringView. | |
| strong | const char *, QByteArray und QByteArrayView. | Der Inhalt von Byte-Arrays wird als UTF-8 interpretiert. |
Ö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 (&string)[N]) | |
| 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) | |
(since 6.9) QString | arg(Args &&... args) const |
| 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) | operator std::string_view() const |
(since 6.10) | operator std::u8string_view() const |
| QUtf8StringView::storage_type | operator[](qsizetype n) const |
Statische öffentliche Mitglieder
Ausführliche Beschreibung
Ein QUtf8StringView verweist auf einen zusammenhängenden Teil einer UTF-8-Zeichenkette, die ihm nicht gehört. Er fungiert als Schnittstellentyp für alle Arten von UTF-8-Zeichenketten, ohne dass zuvor ein „ QString “ oder „ QByteArray “ erstellt werden muss.
Die UTF-8-Zeichenkette kann als Array (oder als array-kompatible Datenstruktur wie z. B. `std::basic_string` usw.) aus ` char8_t`, ` char`, ` signed char ` oder ` unsigned char` dargestellt werden.
QUtf8StringView ist als Schnittstellentyp konzipiert; sein Hauptanwendungsfall ist die Verwendung als Funktionsparametertyp. Wenn QUtf8StringViews als automatische Variablen oder Datenelemente verwendet werden, muss darauf geachtet werden, dass die referenzierten Zeichenfolgendaten (die beispielsweise einem std::u8string gehören) auf allen Codepfaden länger bestehen als das QUtf8StringView, damit die Zeichenfolgenansicht nicht auf gelöschte Daten verweist.
Bei Verwendung als Schnittstellentyp ermöglicht QUtf8StringView einer einzelnen Funktion, eine Vielzahl von UTF-8-Zeichenfolgen-Datenquellen zu akzeptieren. Eine Funktion, die QUtf8StringView akzeptiert, ersetzt somit mehrere Funktionsüberladungen (die z. B. „ QByteArray “ entgegennehmen), während gleichzeitig noch mehr Zeichenfolgen-Datenquellen an die Funktion übergeben werden können, wie beispielsweise „ u8"Hello World" “, ein „ char8_t “-Zeichenfolgenliteral (C++20) oder ein „ char “-Zeichenfolgenliteral (C++17). Die Inkompatibilität zwischen C++17 und C++20 bei „ char8_t “ entfällt bei Verwendung von QUtf8StringView.
Wie alle Views sollten QUtf8StringViews als Wert und nicht als Referenz auf eine Konstante übergeben werden:
void myfun1(QUtf8StringView sv); // preferred
void myfun2(const QUtf8StringView &sv); // compiles and works, but slowerWenn Sie Ihren Benutzern maximale Freiheit bei der Art der Zeichenfolgen gewähren möchten, die sie an Ihre Funktion übergeben können, sollten Sie stattdessen die Verwendung von „ QAnyStringView “ in Betracht ziehen.
QUtf8StringView kann auch als Rückgabewert einer Funktion verwendet werden. Wenn Sie eine Funktion aufrufen, die `QUtf8StringView` zurückgibt, achten Sie besonders darauf, das `QUtf8StringView` nicht länger zu behalten, als die Funktion verspricht, die referenzierten Zeichenfolgendaten aufrechtzuerhalten. Im Zweifelsfall sollten Sie eine starke Referenz auf die Daten erhalten, indem Sie ` toString()` aufrufen, um das `QUtf8StringView` in ein ` QString` zu konvertieren.
QUtf8StringView ist ein Literal-Typ.
Kompatible Zeichentypen
QUtf8StringView akzeptiert Zeichenfolgen mit einer Vielzahl von Zeichentypen:
char(sowohl vorzeichenbehaftet als auch vorzeichenlos)char8_t(nur C++20)
Größen und Teilzeichenfolgen
Alle Größen und Positionen in den Funktionen von QUtf8StringView werden in UTF-8-Codepunkten angegeben (d. h., UTF-8-Multibyte-Sequenzen zählen je nach Länge als zwei, drei oder vier). QUtf8StringView versucht nicht, das Durchschneiden von UTF-8-Multibyte-Sequenzen zu erkennen oder zu verhindern. Dies entspricht der Situation bei „ QStringView “ und Surrogatpaaren.
C++20, char8_t und QUtf8StringView
In C++20 wurde der Typ der „ u8"" “-Zeichenfolgenliterale von ` const char[] ` in ` const char8_t[]` geändert. Hätte sich Qt 6 auf C++20 stützen 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 usw.
- begin(), end(), data(), usw.
- front(), back(), at(), operator[]()
So soll QUtf8StringView in Qt 7 aussehen, doch in Qt 6 war dies nicht möglich. Anstatt die Nutzer für das nächste Jahrzehnt an eine Schnittstelle aus der C++17-Ära zu binden, stellt Qt zwei QUtf8StringView-Klassen in unterschiedlichen (Inline-)Namespaces bereit. 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 eine „ 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-Namespace, um versehentliche Binärinkompatibilitätsprobleme zu vermeiden. Um die Version „ char8_t “ zu verwenden, müssen Sie diese explizit mit „ q_has_char8_t::QUtf8StringView “ benennen.
Intern sind beide Instanziierungen derselben Template-Klasse, QBasicUtf8StringView. Bitte verwenden Sie den Namen der Template-Klasse nicht in Ihrem Quellcode.
Siehe auch QAnyStringView, QStringView, QLatin1StringView und QString.
Dokumentation zu den Mitgliedstypen
QUtf8StringView::const_iterator
Dieser `typedef` stellt einen `const`-Iterator im STL-Stil für ` QUtf8StringView` bereit.
Siehe auch iterator und const_reverse_iterator.
QUtf8StringView::const_pointer
Alias für ` value_type *`. Wird aus Kompatibilitätsgründen mit der STL bereitgestellt.
QUtf8StringView::const_reference
Alias für ` value_type &`. Wird aus Kompatibilitätsgründen mit der STL bereitgestellt.
QUtf8StringView::const_reverse_iterator
Dieser `typedef` stellt einen `const reverse iterator` im STL-Stil für ` QUtf8StringView` bereit.
Siehe auch reverse_iterator und const_iterator.
QUtf8StringView::difference_type
Alias für ` std::ptrdiff_t`. Wird aus Kompatibilitätsgründen mit der STL bereitgestellt.
QUtf8StringView::iterator
Diese `typedef`-Definition stellt einen `const`-Iterator im STL-Stil für ` QUtf8StringView` bereit.
QUtf8StringView Da mutable Iteratoren nicht unterstützt werden, entspricht dies 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 Da mutable Zeiger nicht unterstützt werden, entspricht dies const_pointer.
QUtf8StringView::reference
Alias für value_type &. Wird aus Kompatibilitätsgründen mit der STL bereitgestellt.
QUtf8StringView Da es keine veränderbare Referenz unterstützt, entspricht dies const_reference.
QUtf8StringView::reverse_iterator
Diese `typedef`-Definition stellt einen `const`-Reverse-Iterator im STL-Stil für ` QUtf8StringView` bereit.
QUtf8StringView Da mutable Reverse-Iteratoren nicht unterstützt werden, entspricht dies const_reverse_iterator.
Siehe auch „ const_reverse_iterator “ und „ iterator “.
QUtf8StringView::size_type
Alias für „qsizetype“. Wird aus Gründen der Kompatibilität 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 zu den Mitgliedsfunktionen
[constexpr noexcept] QUtf8StringView::QUtf8StringView()
Erstellt eine Null-String-Ansicht.
Siehe auch ` isNull()`.
[constexpr noexcept] template <typename Char, size_t N> QUtf8StringView::QUtf8StringView(const Char (&string)[N])
Erstellt eine String-Ansicht für das Zeichenfolgenliteral „ string “. Die Ansicht deckt das Array ab, bis entweder das erste „ Char(0) “ oder „ N “ auftritt – je nachdem, was zuerst eintritt. Wenn Sie das gesamte Array benötigen, verwenden Sie stattdessen „ fromArray()“.
string muss während der gesamten Lebensdauer dieses String-View-Objekts gültig bleiben.
Einschränkungen
Nimmt nur dann an der Überladungsauflösung teil, wenn „ string “ ein tatsächliches Array ist und „ 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)
Erstellt eine String-Ansicht auf str. Die Länge wird durch das Durchsuchen nach dem ersten Char(0) ermittelt.
str muss während der gesamten Lebensdauer dieses String-View-Objekts gültig bleiben.
Die Übergabe von ` nullptr ` als ` str ` ist unbedenklich und führt zu einer leeren String-Ansicht.
Einschränkungen
Nimmt nur dann an der Überladungsauflösung teil, wenn „ str “ kein Array ist und „ Char “ ein kompatibler Zeichentyp ist. Die kompatiblen Zeichentypen sind: „ char8_t “, „ char “, „ signed char “ und „ unsigned char “.
[constexpr noexcept] template <typename Container> requires if_compatible_container<Container> QUtf8StringView::QUtf8StringView(const Container &str)
Erstellt eine String-Ansicht auf der Grundlage von str. Die Länge wird von std::size(str) übernommen.
std::data(str) muss während der gesamten Lebensdauer dieses String-View-Objekts gültig bleiben.
Die Zeichenfolgenansicht ist genau dann leer, wenn std::size(str) == 0 gilt. Es ist nicht festgelegt, ob dieser Konstruktor zu einer leeren Zeichenfolgenansicht führen kann (dazu müsstestd::data(str) den Wert nullptr zurückgeben).
Einschränkungen
Nimmt nur dann an der Überladungsauflösung teil, wenn „ Container “ ein Container mit einem mit „ value_type “ kompatiblen Zeichentyp ist. Die kompatiblen Zeichentypen sind: „ char8_t “, „ char “, „ signed char “ und „ unsigned char “.
Siehe auch „ isNull()“ und „ isEmpty()“.
[constexpr noexcept] QUtf8StringView::QUtf8StringView(std::nullptr_t)
Erstellt eine Null-String-Ansicht.
Siehe auch ` isNull()`.
[constexpr] template <typename Char> requires if_compatible_char<Char> QUtf8StringView::QUtf8StringView(const Char *first, const Char *last)
Erstellt eine String-Ansicht auf first mit der Länge (last – first).
Der Bereich [first,last) muss während der gesamten Lebensdauer dieses String-View-Objekts gültig bleiben.
Die Übergabe von ` \nullptr ` als ` first ` ist sicher, wenn ` last ` ebenfalls ` nullptr` ist, und führt zu einer leeren String-View.
Das Verhalten ist undefiniert, wenn „ last “ vor „ first “ steht oder wenn „ first “ gleich „ nullptr “ ist, „ last “ jedoch nicht.
Einschränkungen
Nimmt nur dann an der Überladungsauflösung teil, wenn „ Char “ ein kompatibler Zeichentyp ist. Die kompatiblen Zeichentypen sind: „ char8_t “, „ char “, „ signed char “ und „ unsigned char “.
[constexpr] template <typename Char> requires if_compatible_char<Char> QUtf8StringView::QUtf8StringView(const Char *str, qsizetype len)
Erstellt eine String-Ansicht auf str mit der Länge len.
Der Bereich [str,len) muss während der gesamten 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 leeren Zeichenfolgenansicht.
Das Verhalten ist undefiniert, wenn „ len “ negativ ist oder, falls positiv, wenn „ str “ gleich „ nullptr “ ist.
Einschränkungen
Nimmt nur dann an der Überladungsauflösung teil, wenn Char ein kompatibler Zeichentyp ist. Die kompatiblen Zeichentypen sind: char8_t, char, signed char und unsigned char.
[since 6.9] template <typename... Args> QString QUtf8StringView::arg(Args &&... args) const
Ersetzt alle Vorkommen von „ %N “ in dieser Zeichenkette durch das entsprechende Argument aus „ args “. Die Argumente sind nicht positionsabhängig: Das erste Argument aus „ args “ ersetzt „ %N “ durch den niedrigsten Wert aus „ N “ (alle), das zweite Argument aus „ args “ ersetzt „ %N “ durch den nächstniedrigeren Wert aus „ N “ usw.
Args kann aus allem bestehen, das implizit in ` QAnyStringView` konvertiert werden kann.
Diese Funktion wurde in Qt 6.9 eingeführt.
Siehe auch „ QString::arg“ (Args&&...).
[constexpr] QUtf8StringView::storage_type QUtf8StringView::at(qsizetype n) const
Gibt den Codepunkt an der Position n in dieser Zeichenfolgenansicht zurück.
Das Verhalten ist undefiniert, wenn ` n ` negativ ist oder größer oder gleich ` size()` ist.
Siehe auch operator[](), front() und back().
[constexpr] QUtf8StringView::storage_type QUtf8StringView::back() const
Gibt den letzten Codepunkt in der Zeichenfolgenansicht zurück. Entspricht „ last()“.
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt.
Warnung: Der Aufruf dieser Funktion für eine leere Zeichenfolgenansicht führt zu undefiniertem Verhalten.
Siehe auch „ front()“.
[noexcept] QUtf8StringView::const_iterator QUtf8StringView::begin() const
Gibt einen konstanten Iterator im STL-Stil zurück, der auf den ersten Codepunkt in der Zeichenfolgenansicht 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
Entspricht „ begin()“.
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt.
Siehe auch cend(), begin(), crbegin() und data().
[noexcept] QUtf8StringView::const_iterator QUtf8StringView::cend() const
Entspricht „ end()“.
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt.
Siehe auch cbegin(), end() und crend().
[constexpr] void QUtf8StringView::chop(qsizetype n)
Kürzt diese Zeichenfolgenansicht um n Codepunkte.
Entspricht ` *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 Teilzeichenfolge der Länge „ size()“ – „ n “ zurück, beginnend am Anfang dieses Objekts.
Entspricht first(size() - n).
Hinweis: Das Verhalten ist undefiniert, wenn n < 0 oder n > size().
Siehe auch „ sliced()“, „ first()“, „ last()“, „ chop()“, „ truncate()“ und „ slice()“.
[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 Zeichenfolgenansicht mit str und gibt eine negative ganze Zahl zurück, wenn diese Zeichenfolgenansicht kleiner als str ist, eine positive ganze Zahl, wenn sie größer als str ist, und Null, wenn sie gleich sind.
Ist cs gleich Qt::CaseSensitive (Standard), erfolgt der Vergleich unter Berücksichtigung der Groß-/Kleinschreibung; andernfalls erfolgt der Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung.
Diese Funktionen wurden in Qt 6.5 eingeführt.
[noexcept] QUtf8StringView::const_reverse_iterator QUtf8StringView::crbegin() const
Entspricht „ rbegin()“.
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt.
Siehe auch crend(), rbegin() und cbegin().
[noexcept] QUtf8StringView::const_reverse_iterator QUtf8StringView::crend() const
Entspricht ` rend()`.
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt.
Siehe auch crbegin(), rend() und cend().
[constexpr noexcept] QUtf8StringView::const_pointer QUtf8StringView::data() const
Gibt einen const-Zeiger auf den ersten Codepunkt in der Zeichenfolgenansicht 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 Zeichenfolgenansicht leer ist – das heißt, ob „ size() == 0 “ gilt.
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 konstanten Iterator im STL-Stil zurück, der auf den imaginären Codepunkt nach dem letzten Codepunkt in der Liste verweist.
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 Zeichenfolgenansicht zurück, die die ersten n Codepunkte dieser Zeichenfolgenansicht 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> requires if_compatible_char<Char> QUtf8StringView QUtf8StringView::fromArray(const Char (&string)[Size])
Erstellt eine String-Ansicht des vollständigen Zeichenfolgenliterals „ string “ aus „ Size “-Elementen, 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, sobald Sie sicher sind, dass er am Ende steht. Alternativ können Sie die Konstruktorüberladung verwenden, die ein Array-Literal akzeptiert und eine Ansicht bis zum ersten Null-Terminator in den Daten (ohne diesen) erstellt.
string muss für die gesamte Lebensdauer dieses String-View-Objekts gültig bleiben.
Diese Funktion funktioniert mit jedem Array-Literal, sofern „ 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 Zeichenfolgenansicht zurück. Entspricht „ first()“.
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt.
Warnung: Der Aufruf dieser Funktion für eine leere Zeichenfolgenansicht 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 gilt.
Diese Funktion wird aus Gründen der 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` gilt.
Diese Funktion wird aus Gründen der Kompatibilität mit anderen Qt-Containern bereitgestellt.
Siehe auch empty(), isEmpty(), size() und length().
[noexcept, since 6.3] bool QUtf8StringView::isValidUtf8() const
Gibt „ true “ zurück, wenn diese Zeichenkette gültige, UTF-8-kodierte Daten enthält, andernfalls „ false “.
Diese Funktion wurde in Qt 6.3 eingeführt.
[constexpr] QUtf8StringView QUtf8StringView::last(qsizetype n) const
Gibt eine Zeichenfolgenansicht zurück, die die letzten n Codepunkte dieser Zeichenfolgenansicht 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
Entspricht „ 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 diese Zahl jedoch deutlich geringer ausfallen, da sie durch den dem System zur Verfügung stehenden Speicher begrenzt ist.
Diese Funktion wurde in Qt 6.8 eingeführt.
[constexpr noexcept, since 6.8] qsizetype QUtf8StringView::max_size() const
Diese Funktion dient der STL-Kompatibilität.
Gibt ` maxSize()` zurück.
Diese Funktion wurde in Qt 6.8 eingeführt.
[noexcept] QUtf8StringView::const_reverse_iterator QUtf8StringView::rbegin() const
Gibt einen konstanten Reverse-Iterator im STL-Stil zurück, der auf den ersten Codepunkt in der Zeichenfolgenansicht in umgekehrter Reihenfolge verweist.
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 Reverse-Iterator im STL-Stil zurück, der in umgekehrter Reihenfolge auf die Position nach dem letzten Codepunkt in der Zeichenfolgenansicht 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 String-Ansicht in UTF-8-Codepunkten zurück (das heißt, Multibyte-Sequenzen werden für die Zwecke dieser Funktion als mehr als ein Codepunkt gezählt, genau wie Surrogatpaare in QString und QStringView).
Siehe auch empty(), isEmpty(), isNull() und length().
[constexpr, since 6.8] QUtf8StringView &QUtf8StringView::slice(qsizetype pos, qsizetype n)
Passen Sie diese Zeichenfolgenansicht so an, dass sie an der Position pos beginnt und sich über n Codepunkte erstreckt.
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)
Passen Sie diese Zeichenfolgenansicht so an, dass sie an der Position pos beginnt und sich bis zum Ende erstreckt.
Hinweis: Das Verhalten ist undefiniert, wenn pos < 0 oder pos > size().
Dies ist eine überladene Funktion.
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 String-Ansicht zurück, die an der Position „ pos “ in diesem Objekt beginnt und bis zum Ende desselben 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 die Code-Punkte „ n “ 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 String-Ansicht als ` QString` zurück.
Der Rückgabewert ist genau dann ein ` QString ` vom Typ `null`, wenn diese String-Ansicht `null` ist.
[constexpr] void QUtf8StringView::truncate(qsizetype n)
Kürzt diese Zeichenfolgenansicht auf n Code-Punkte.
Entspricht „ *this = first(n) “.
Hinweis: Das Verhalten ist undefiniert, wenn „ n “ < 0 oder „ n “ > „ size “ () ist.
Siehe auch „ sliced()“, „ first()“, „ last()“, „ chopped()“ und „ chop()“.
[noexcept] const char8_t *QUtf8StringView::utf8() const
Gibt einen const-Zeiger auf den ersten Codepunkt in der Zeichenfolgenansicht zurück.
Das Ergebnis wird als ` const char8_t*` zurückgegeben, daher ist diese Funktion nur bei der Kompilierung im C++20-Modus verfügbar.
Hinweis: Das durch den Rückgabewert dargestellte Zeichenarray ist nicht null-terminiert.
Siehe auch ` begin()`, ` end()` und ` data()`.
[noexcept, since 6.7] QUtf8StringView::operator std::string_view() const
Wandelt dieses „ QUtf8StringView “-Objekt in ein „ std::string_view “-Objekt um. Die zurückgegebene Ansicht hat denselben Datenzeiger und dieselbe Länge wie diese Ansicht.
Diese Funktion wurde in Qt 6.7 eingeführt.
[noexcept, since 6.10] QUtf8StringView::operator std::u8string_view() const
Wandelt dieses „ QUtf8StringView “-Objekt in ein „ std::u8string_view “-Objekt um. Die zurückgegebene Ansicht hat denselben Datenzeiger und dieselbe Länge wie diese Ansicht.
Diese Funktion ist nur bei der Kompilierung im C++20-Modus verfügbar.
Diese Funktion wurde in Qt 6.10 eingeführt.
[constexpr] QUtf8StringView::storage_type QUtf8StringView::operator[](qsizetype n) const
Gibt den Codepunkt an der Position n in dieser Zeichenfolgenansicht zurück.
Das Verhalten ist undefiniert, wenn ` n ` negativ ist oder nicht kleiner als ` size()` ist.
© 2026 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.