Sur cette page

QUtf8StringView Class

La classe QUtf8StringView offre une vue unifiée des chaînes UTF-8 grâce à un sous-ensemble en lecture seule de l'API « QString ». En savoir plus...

En-tête : #include <QUtf8StringView>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core
Depuis : Qt 6.0

Remarque : toutes les fonctions de cette classe sont réentrantes.

Comparaisons de QUtf8StringView

CatégorieTypes comparablesDescription
strongQUtf8StringView
strongchar16_t, QChar, const char16_t *, QString, QStringView et QLatin1StringView.
strongconst char *, QByteArray et QByteArrayView.Le contenu des tableaux d’octets est interprété au format UTF-8.

Types publics

Fonctions publiques

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

Membres publics statiques

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

Description détaillée

Un QUtf8StringView fait référence à une partie contiguë d’une chaîne UTF-8 dont il n’est pas propriétaire. Il sert d’interface pour tous les types de chaînes UTF-8, sans qu’il soit nécessaire de créer au préalable un objet de type ` QString ` ou ` QByteArray `.

La chaîne UTF-8 peut être représentée sous la forme d’un tableau (ou d’une structure de données compatible avec les tableaux, telle que std::basic_string, etc.) d’ char8_t, d’ char, d’ signed char ou d’ unsigned char.

QUtf8StringView est conçu comme un type d’interface ; son principal cas d’utilisation est celui de type de paramètre de fonction. Lorsque des instances de QUtf8StringView sont utilisées comme variables automatiques ou membres de données, il faut veiller à ce que les données de chaîne référencées (appartenant par exemple à un std::u8string) survivent à l’instance de QUtf8StringView sur tous les chemins d’exécution, afin d’éviter que la vue de chaîne ne finisse par référencer des données supprimées.

Utilisé comme type d’interface, QUtf8StringView permet à une seule fonction d’accepter une grande variété de sources de données de chaînes UTF-8. Une fonction acceptant QUtf8StringView remplace ainsi plusieurs surcharges de fonction (prenant par exemple QByteArray), tout en permettant de transmettre à la fonction encore plus de sources de données de chaînes, telles que u8"Hello World", une chaîne littérale de type char8_t (C++20) ou char (C++17). L'incompatibilité « char8_t » entre C++17 et C++20 disparaît lors de l'utilisation de QUtf8StringView.

Comme toutes les vues, les QUtf8StringView doivent être passées par valeur, et non par référence à une constante :

    void myfun1(QUtf8StringView sv);        // preferred
    void myfun2(const QUtf8StringView &sv); // compiles and works, but slower

Si vous souhaitez offrir à vos utilisateurs une liberté maximale quant aux chaînes qu’ils peuvent transmettre à votre fonction, envisagez plutôt d’utiliser QAnyStringView.

QUtf8StringView peut également être utilisé comme valeur de retour d’une fonction. Si vous appelez une fonction renvoyant un QUtf8StringView, veillez tout particulièrement à ne pas conserver ce QUtf8StringView plus longtemps que la durée pendant laquelle la fonction s'engage à maintenir en vie les données de chaîne référencées. En cas de doute, obtenez une référence forte aux données en appelant ` toString()` pour convertir le QUtf8StringView en un ` QString`.

QUtf8StringView est un type littéral.

Types de caractères compatibles

QUtf8StringView accepte des chaînes de caractères de différents types :

  • char (signés et non signés)
  • char8_t (C++20 uniquement)

Tailles et sous-chaînes

Toutes les tailles et positions dans les fonctions QUtf8StringView sont exprimées en points de code UTF-8 (c'est-à-dire que les séquences multioctets UTF-8 comptent pour deux, trois ou quatre, selon leur longueur). QUtf8StringView ne tente pas de détecter ni d’empêcher le découpage au milieu de séquences multioctets UTF-8. Ce comportement est similaire à celui observé avec ` QStringView ` et les paires de substituts.

C++20, char8_t et QUtf8StringView

En C++20, le type des littéraux de chaîne « u8"" » est passé de ` const char[] ` à ` const char8_t[]`. Si Qt 6 avait pu s’appuyer sur C++20, `QUtf8StringView` stockerait nativement des ` char8_t `, et les fonctions et alias suivants utiliseraient (des pointeurs vers) ` char8_t` :

Voici à quoi devrait ressembler QUtf8StringView dans Qt 7, mais cela n’était pas possible dans Qt 6. Plutôt que d’enfermer les utilisateurs dans une interface de l’ère C++17 pour la prochaine décennie, Qt fournit deux classes QUtf8StringView, dans des espaces de noms (inline) différents. La première, dans l’espace de noms q_no_char8_t, a une value_type de const char et est disponible de manière universelle. La seconde, dans l’espace de noms q_has_char8_t, a une value_type de const char8_t et n’est disponible que lors d’une compilation en mode C++20.

q_no_char8_t Il s'agit d'un espace de noms inline, quelle que soit l'édition de C++, afin d'éviter toute incompatibilité binaire accidentelle. Pour utiliser la version « char8_t », vous devez la nommer explicitement ainsi : q_has_char8_t::QUtf8StringView.

En interne, les deux sont des instanciations de la même classe de modèles, QBasicUtf8StringView. Veuillez ne pas utiliser le nom de la classe de modèles dans votre code source.

Voir également QAnyStringView, QStringView, QLatin1StringView et QString.

Documentation sur les types de membres

QUtf8StringView::const_iterator

Ce `typedef` fournit un itérateur `const` de type STL pour ` QUtf8StringView`.

Voir également iterator et const_reverse_iterator.

QUtf8StringView::const_pointer

Alias de ` value_type *`. Fournis à des fins de compatibilité avec la STL.

QUtf8StringView::const_reference

Alias de value_type &. Fourni à des fins de compatibilité avec la STL.

QUtf8StringView::const_reverse_iterator

Ce typedef fournit un itérateur inversé constant de type STL pour QUtf8StringView.

Voir également reverse_iterator et const_iterator.

QUtf8StringView::difference_type

Alias de ` std::ptrdiff_t`. Fourni à des fins de compatibilité avec la STL.

QUtf8StringView::iterator

Ce `typedef` fournit un itérateur `const` de type STL pour ` QUtf8StringView`.

QUtf8StringView Comme il ne prend pas en charge les itérateurs mutables, cela revient au même que const_iterator.

Voir également ` const_iterator ` et ` reverse_iterator`.

QUtf8StringView::pointer

Alias de value_type *. Fournis à des fins de compatibilité avec la STL.

QUtf8StringView ne prend pas en charge les pointeurs mutables ; cette fonction est donc équivalente à ` const_pointer`.

QUtf8StringView::reference

Alias de ` value_type &`. Fourni à des fins de compatibilité avec la STL.

QUtf8StringView Ne prend pas en charge les références modifiables ; cette fonction est donc identique à ` const_reference`.

QUtf8StringView::reverse_iterator

Ce typedef fournit un itérateur inversé constant de type STL pour QUtf8StringView.

QUtf8StringView ne prend pas en charge les itérateurs inversés mutables ; cela revient donc à utiliser const_reverse_iterator.

Voir également const_reverse_iterator et iterator.

QUtf8StringView::size_type

Alias de `qsizetype`. Fourni à des fins de compatibilité avec la STL.

[alias] QUtf8StringView::storage_type

Alias pour char.

QUtf8StringView::value_type

Alias de ` const char`. Fourni à des fins de compatibilité avec la STL.

Documentation des fonctions membres

[constexpr noexcept] QUtf8StringView::QUtf8StringView()

Crée une vue de chaîne vide.

Voir aussi isNull().

[constexpr noexcept] template <typename Char, size_t N> QUtf8StringView::QUtf8StringView(const Char (&string)[N])

Crée une vue de chaîne à partir du littéral de chaîne « string ». La vue couvre le tableau jusqu’à la première occurrence de « Char(0) » ou de « N », selon la première des deux. Si vous avez besoin du tableau complet, utilisez plutôt la fonction « fromArray() ».

string doit rester valide pendant toute la durée de vie de cet objet de vue de chaîne.

Contraintes

Ne participe à la résolution des surcharges que si ` string ` est un tableau réel et si ` Char ` est un type de caractère compatible. Les types de caractères compatibles sont : ` char8_t`, ` char`, ` signed char ` et ` unsigned char`.

Voir également fromArray().

[constexpr noexcept] template <typename Char> QUtf8StringView::QUtf8StringView(const Char *str)

Crée une vue de chaîne sur str. La longueur est déterminée en recherchant le premier Char(0).

str doit rester valide pendant toute la durée de vie de cet objet de vue de chaîne.

Le fait de passer nullptr comme str est sans risque et donne lieu à une vue de chaîne nulle.

Contraintes

Ne participe à la résolution des surcharges que si ` str ` n'est pas un tableau et si ` Char ` est un type de caractère compatible. Les types de caractères compatibles sont : ` char8_t`, ` char`, ` signed char ` et ` unsigned char`.

[constexpr noexcept] template <typename Container> requires if_compatible_container<Container> QUtf8StringView::QUtf8StringView(const Container &str)

Crée une vue de chaîne sur str. La longueur est extraite de std::size(str).

std::data(str) doit rester valide pendant toute la durée de vie de cet objet vue de chaîne.

La vue de chaîne sera vide si et seulement si std::size(str) == 0. Il n’est pas spécifié si ce constructeur peut donner lieu à une vue de chaîne nulle (pour cela,std::data(str) devrait renvoyer nullptr ).

Contraintes

Ne participe à la résolution des surcharges que si ` Container ` est un conteneur dont le type de caractère est compatible avec celui de ` value_type`. Les types de caractères compatibles sont : ` char8_t`, ` char`, ` signed char ` et ` unsigned char`.

Voir également isNull() et isEmpty().

[constexpr noexcept] QUtf8StringView::QUtf8StringView(std::nullptr_t)

Crée une vue de chaîne vide.

Voir aussi isNull().

[constexpr] template <typename Char> requires if_compatible_char<Char> QUtf8StringView::QUtf8StringView(const Char *first, const Char *last)

Crée une vue de chaîne sur first avec la longueur (last - first).

La plage [first,last) doit rester valide pendant toute la durée de vie de cet objet de vue de chaîne.

Le passage de ` \nullptr ` comme ` first ` est sans risque si ` last ` est également ` nullptr`, et donne lieu à une vue de chaîne nulle.

Le comportement est indéfini si last précède first, ou si first est nullptr et que last ne l’est pas.

Contraintes

Ne participe à la résolution des surcharges que si Char est un type de caractère compatible. Les types de caractères compatibles sont : char8_t, char, signed char et unsigned char.

[constexpr] template <typename Char> requires if_compatible_char<Char> QUtf8StringView::QUtf8StringView(const Char *str, qsizetype len)

Crée une vue de chaîne sur str d'une longueur de len.

La plage [str,len) doit rester valide pendant toute la durée de vie de cet objet de vue de chaîne.

Le passage de nullptr en tant que str est sans risque si len est également égal à 0, et donne lieu à une vue de chaîne nulle.

Le comportement est indéfini si ` len ` est négatif ou, lorsqu’il est positif, si ` str ` est égal à ` nullptr`.

Contraintes

Ne participe à la résolution des surcharges que si Char est un type de caractère compatible. Les types de caractères compatibles sont : char8_t, char, signed char et unsigned char.

[since 6.9] template <typename... Args> QString QUtf8StringView::arg(Args &&... args) const

Remplace les occurrences de « %N » dans cette chaîne par l’argument correspondant issu de args. Les arguments ne sont pas positionnels : le premier élément de args remplace %N par le N le plus bas (tous), le deuxième élément de args remplace %N par le N suivant le plus bas, etc.

Args peut être constitué de n’importe quel élément se convertissant implicitement en QAnyStringView.

Cette fonction a été introduite dans Qt 6.9.

Voir également QString::arg(Args&&...).

[constexpr] QUtf8StringView::storage_type QUtf8StringView::at(qsizetype n) const

Renvoie le point de code situé à la position n dans cette vue de chaîne.

Le comportement est indéfini si n est négatif ou s’il n’est pas inférieur à size().

Voir également operator[](), front() et back().

[constexpr] QUtf8StringView::storage_type QUtf8StringView::back() const

Renvoie le dernier point de code de la vue de chaîne. Equivalent à ` last()`.

Cette fonction est fournie à des fins de compatibilité avec la STL.

Avertissement : l'appel de cette fonction sur une vue de chaîne vide entraîne un comportement indéfini.

Voir aussi ` front()`.

[noexcept] QUtf8StringView::const_iterator QUtf8StringView::begin() const

Renvoie un itérateur de type STL (const) pointant vers le premier point de code de la vue de chaîne.

Cette fonction est fournie à des fins de compatibilité avec la STL.

Voir également end(), cbegin(), rbegin() et data().

[noexcept] QUtf8StringView::const_iterator QUtf8StringView::cbegin() const

Identique à ` begin()`.

Cette fonction est fournie à des fins de compatibilité avec la STL.

Voir également cend(), begin(), crbegin() et data().

[noexcept] QUtf8StringView::const_iterator QUtf8StringView::cend() const

Identique à ` end()`.

Cette fonction est fournie à des fins de compatibilité avec la STL.

Voir également cbegin(), end() et crend().

[constexpr] void QUtf8StringView::chop(qsizetype n)

Tronque cette chaîne de caractères de n points de code.

Identique à ` *this = first(size() - n)`.

Remarque : le comportement est indéfini lorsque ` n < 0` ou ` n > size().

Voir également sliced(), first(), last(), chopped() et truncate().

[constexpr] QUtf8StringView QUtf8StringView::chopped(qsizetype n) const

Renvoie la sous-chaîne de longueur size() - n à partir du début de cet objet.

Identique à ` first(size() - n)`.

Remarque : le comportement est indéfini lorsque n < 0 ou n > size().

Voir également sliced(), first(), last(), chop(), truncate() et 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

Compare cette vue de chaîne avec str et renvoie un entier négatif si cette vue de chaîne est inférieure à str, un entier positif si elle est supérieure à str, et zéro si elles sont égales.

Si cs est égal à Qt::CaseSensitive (valeur par défaut), la comparaison tient compte de la casse ; sinon, elle ne tient pas compte de la casse.

Ces fonctions ont été introduites dans Qt 6.5.

[noexcept] QUtf8StringView::const_reverse_iterator QUtf8StringView::crbegin() const

Identique à ` rbegin()`.

Cette fonction est fournie à des fins de compatibilité avec la STL.

Voir également crend(), rbegin() et cbegin().

[noexcept] QUtf8StringView::const_reverse_iterator QUtf8StringView::crend() const

Identique à ` rend()`.

Cette fonction est fournie à des fins de compatibilité avec la STL.

Voir également crbegin(), rend() et cend().

[constexpr noexcept] QUtf8StringView::const_pointer QUtf8StringView::data() const

Renvoie un pointeur const vers le premier point de code de la vue de chaîne.

Remarque : le tableau de caractères représenté par la valeur de retour n' est pas terminé par un caractère nul.

Voir également begin(), end() et utf8().

[constexpr noexcept] bool QUtf8StringView::empty() const

Indique si cette vue de chaîne est vide, c'est-à-dire si size() == 0.

Cette fonction est fournie à des fins de compatibilité avec la STL.

Voir également isEmpty(), isNull(), size() et length().

[noexcept] QUtf8StringView::const_iterator QUtf8StringView::end() const

Renvoie un itérateur const de type STL pointant vers le point de code imaginaire situé après le dernier point de code de la liste.

Cette fonction est fournie à des fins de compatibilité avec la STL.

Voir également begin(), cend() et rend().

[constexpr] QUtf8StringView QUtf8StringView::first(qsizetype n) const

Renvoie une vue de chaîne contenant les x n points de code de cette vue de chaîne.

Remarque : le comportement est indéfini lorsque n < 0 ou n > size().

Voir également : ` last()`, ` sliced()`, ` chopped()`, ` chop()`, ` truncate()` et ` slice()`.

[static constexpr noexcept] template <typename Char, size_t Size> requires if_compatible_char<Char> QUtf8StringView QUtf8StringView::fromArray(const Char (&string)[Size])

Construit une vue de chaîne à partir du littéral de chaîne complet string composé d’ Size éléments, y compris tout caractère de fin Char(0). Si vous ne souhaitez pas que le caractère de fin soit inclus dans la vue, vous pouvez le supprimer à l’aide de la fonction chop() lorsque vous êtes certain qu’il se trouve à la fin. Vous pouvez également utiliser la surcharge du constructeur prenant un littéral de tableau, qui créera une vue allant jusqu’au premier caractère de fin de chaîne (sans l’inclure) présent dans les données.

string doit rester valide pendant toute la durée de vie de cet objet de vue de chaîne.

Cette fonction fonctionne avec n’importe quel littéral de tableau si Char est un type de caractère compatible. Les types de caractères compatibles sont : char8_t, char, signed char et unsigned char.

[constexpr] QUtf8StringView::storage_type QUtf8StringView::front() const

Renvoie le premier point de code de la vue de chaîne. Équivalent à ` first()`.

Cette fonction est fournie à des fins de compatibilité avec la STL.

Avertissement : l'appel de cette fonction sur une vue de chaîne vide entraîne un comportement indéfini.

Voir aussi ` back()`.

[constexpr noexcept] bool QUtf8StringView::isEmpty() const

Renvoie si cette vue de chaîne est vide, c'est-à-dire si size() == 0.

Cette fonction est fournie à des fins de compatibilité avec d'autres conteneurs Qt.

Voir également empty(), isNull(), size() et length().

[constexpr noexcept] bool QUtf8StringView::isNull() const

Renvoie si cette vue de chaîne est nulle, c'est-à-dire si data() == nullptr.

Cette fonction est fournie à des fins de compatibilité avec d’autres conteneurs Qt.

Voir également empty(), isEmpty(), size() et length().

[noexcept, since 6.3] bool QUtf8StringView::isValidUtf8() const

Renvoie « true » si cette chaîne contient des données encodées en UTF-8 valides, ou « false » dans le cas contraire.

Cette fonction a été introduite dans Qt 6.3.

[constexpr] QUtf8StringView QUtf8StringView::last(qsizetype n) const

Renvoie une vue de chaîne contenant les x derniers points de code n de cette vue de chaîne.

Remarque : le comportement est indéfini lorsque ` n ` < 0 ou lorsque ` n ` > ` size`().

Voir également first(), sliced(), chopped(), chop(), truncate() et slice().

[constexpr noexcept] qsizetype QUtf8StringView::length() const

Identique à ` size()`.

Cette fonction est fournie à des fins de compatibilité avec d'autres conteneurs Qt.

Voir également empty(), isEmpty(), isNull() et size().

[static constexpr noexcept, since 6.8] qsizetype QUtf8StringView::maxSize()

Elle renvoie le nombre maximal d'éléments que la vue peut théoriquement représenter. En pratique, ce nombre peut être bien inférieur, car il est limité par la quantité de mémoire disponible sur le système.

Cette fonction a été introduite dans Qt 6.8.

[constexpr noexcept, since 6.8] qsizetype QUtf8StringView::max_size() const

Cette fonction est fournie à des fins de compatibilité avec la STL.

Renvoie ` maxSize()`.

Cette fonction a été introduite dans Qt 6.8.

[noexcept] QUtf8StringView::const_reverse_iterator QUtf8StringView::rbegin() const

Renvoie un itérateur inversé de type STL (const) pointant vers le premier point de code de la vue de chaîne, dans l'ordre inverse.

Cette fonction est fournie à des fins de compatibilité avec la STL.

Voir également rend(), crbegin() et begin().

[noexcept] QUtf8StringView::const_reverse_iterator QUtf8StringView::rend() const

Renvoie un itérateur inverse de type STL pointant sur le caractère situé immédiatement après le dernier point de code de la vue de chaîne, dans l'ordre inverse.

Cette fonction est fournie à des fins de compatibilité avec la STL.

Voir également rbegin(), crend() et end().

[constexpr noexcept] qsizetype QUtf8StringView::size() const

Renvoie la taille de cette vue de chaîne, en points de code UTF-8 (c'est-à-dire que les séquences multioctets comptent pour plus d'un point de code dans le cadre de cette fonction, à l'instar des paires de substitution décrites dans QString et QStringView).

Voir également empty(), isEmpty(), isNull() et length().

[constexpr, since 6.8] QUtf8StringView &QUtf8StringView::slice(qsizetype pos, qsizetype n)

Modifie cette vue de chaîne pour qu'elle commence à la position pos et s'étende sur n points de code.

Remarque : le comportement est indéfini lorsque pos < 0, n < 0 ou pos + n > size().

Cette fonction a été introduite dans Qt 6.8.

Voir également sliced(), first(), last(), chopped(), chop() et truncate().

[constexpr, since 6.8] QUtf8StringView &QUtf8StringView::slice(qsizetype pos)

Modifie cette vue de chaîne pour qu'elle commence à la position pos et s'étende jusqu'à sa fin.

Remarque : le comportement est indéfini lorsque pos < 0 ou lorsque pos > size().

Il s'agit d'une fonction surchargée.

Cette fonction a été introduite dans Qt 6.8.

Voir également sliced(), first(), last(), chopped(), chop() et truncate().

[constexpr] QUtf8StringView QUtf8StringView::sliced(qsizetype pos) const

Renvoie une vue de chaîne commençant à la position pos dans cet objet et s'étendant jusqu'à sa fin.

Remarque : le comportement est indéfini lorsque pos < 0 ou pos > size().

Voir également first(), last(), chopped(), chop(), truncate() et slice().

[constexpr] QUtf8StringView QUtf8StringView::sliced(qsizetype pos, qsizetype n) const

Renvoie une vue de chaîne contenant les points de code n de cette vue de chaîne, à partir de la position pos.

Remarque : le comportement est indéfini lorsque pos < 0, n < 0 ou pos + n > size().

Voir également first(), last(), chopped(), chop(), truncate() et slice().

QString QUtf8StringView::toString() const

Renvoie une copie profonde des données de cette vue de chaîne sous la forme d'un ` QString`.

La valeur renvoyée sera une ` QString ` nulle si et seulement si cette vue de chaîne est nulle.

[constexpr] void QUtf8StringView::truncate(qsizetype n)

Tronque cette chaîne de caractères à n points de code.

Identique à ` *this = first(n)`.

Remarque : le comportement est indéfini lorsque n < 0 ou n > size().

Voir également sliced(), first(), last(), chopped() et chop().

[noexcept] const char8_t *QUtf8StringView::utf8() const

Renvoie un pointeur const vers le premier point de code de la vue de chaîne.

Le résultat est renvoyé sous la forme d'un ` const char8_t*`, cette fonction n'est donc disponible que lors de la compilation en mode C++20.

Remarque : le tableau de caractères représenté par la valeur de retour n’ est pas terminé par un caractère nul.

Voir également ` begin()`, ` end()` et ` data()`.

[noexcept, since 6.7] QUtf8StringView::operator std::string_view() const

Convertit cet objet ` QUtf8StringView ` en un objet ` std::string_view `. La vue renvoyée aura le même pointeur de données et la même longueur que cette vue.

Cette fonction a été introduite dans Qt 6.7.

[noexcept, since 6.10] QUtf8StringView::operator std::u8string_view() const

Convertit cet objet ` QUtf8StringView ` en un objet ` std::u8string_view `. La vue renvoyée aura le même pointeur de données et la même longueur que cette vue.

Cette fonction n'est disponible que lors de la compilation en mode C++20.

Cette fonction a été introduite dans Qt 6.10.

[constexpr] QUtf8StringView::storage_type QUtf8StringView::operator[](qsizetype n) const

Renvoie le point de code situé à la position n dans cette vue de chaîne.

Le comportement est indéfini si n est négatif ou s’il n’est pas inférieur à size().

Voir également at(), front() et back().

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