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

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

Ö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

QUtf8StringView fromArray(const Char (&)[Size] string)
(since 6.8) qsizetype maxSize()

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:

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.

Siehe auch at(), front(), und back().

© 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.