QByteArrayView Class
La classe QByteArrayView permet d'accéder à un tableau d'octets à l'aide d'un sous-ensemble en lecture seule de l'API « QByteArray ». En savoir plus...
| En-tête : | #include <QByteArrayView> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
| Depuis : | Qt 6.0 |
- Liste de tous les membres, y compris les membres hérités
- Membres obsolètes
- QByteArrayView fait partie des classes à partage implicite et des classes pour les données de type chaîne de caractères.
Remarque : toutes les fonctions de cette classe sont réentrantes.
Comparaisons de QByteArrayView
| Catégorie | Types comparables | Description |
|---|---|---|
| strong | QByteArrayView | |
| strong | QString, QStringView, QUtf8StringView, QLatin1StringView, QChar et char16_t. | Lors de la comparaison avec les types de chaînes de caractères et de caractères Unicode, le contenu est interprété au format UTF-8. |
Types publics
| const_iterator | |
| const_pointer | |
| const_reference | |
| const_reverse_iterator | |
| difference_type | |
| iterator | |
| pointer | |
| reference | |
| reverse_iterator | |
| size_type | |
| storage_type | |
| value_type |
Fonctions publiques
| QByteArrayView() | |
(since 6.9) | QByteArrayView(const Byte (&data)[]) |
| QByteArrayView(const Byte *data) | |
| QByteArrayView(const Container &c) | |
| QByteArrayView(const QByteArray &byteArray) | |
| QByteArrayView(const char (&data)[Size]) | |
| QByteArrayView(std::nullptr_t) | |
| QByteArrayView(const Byte *first, const Byte *last) | |
| QByteArrayView(const Byte *data, qsizetype len) | |
| char | at(qsizetype n) const |
| char | back() const |
| QByteArrayView::const_iterator | begin() const |
| QByteArrayView::const_iterator | cbegin() const |
| QByteArrayView::const_iterator | cend() const |
| void | chop(qsizetype length) |
| QByteArrayView | chopped(qsizetype length) const |
(since 6.2) int | compare(QByteArrayView bv, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QByteArrayView::const_pointer | constData() const |
| bool | contains(QByteArrayView bv) const |
| bool | contains(char ch) const |
| qsizetype | count(QByteArrayView bv) const |
| qsizetype | count(char ch) const |
| QByteArrayView::const_reverse_iterator | crbegin() const |
| QByteArrayView::const_reverse_iterator | crend() const |
| QByteArrayView::const_pointer | data() const |
| bool | empty() const |
| QByteArrayView::const_iterator | end() const |
| bool | endsWith(QByteArrayView bv) const |
| bool | endsWith(char ch) const |
| QByteArrayView | first(qsizetype n) const |
| char | front() const |
| qsizetype | indexOf(QByteArrayView bv, qsizetype from = 0) const |
| qsizetype | indexOf(char ch, qsizetype from = 0) const |
| bool | isEmpty() const |
| bool | isNull() const |
(since 6.3) bool | isValidUtf8() const |
| QByteArrayView | last(qsizetype n) const |
| qsizetype | lastIndexOf(QByteArrayView bv, qsizetype from) const |
| qsizetype | lastIndexOf(char ch, qsizetype from = -1) const |
(since 6.2) qsizetype | lastIndexOf(QByteArrayView bv) const |
| qsizetype | length() const |
(since 6.8) qsizetype | max_size() const |
| QByteArrayView::const_reverse_iterator | rbegin() const |
| QByteArrayView::const_reverse_iterator | rend() const |
| qsizetype | size() const |
(since 6.8) QByteArrayView & | slice(qsizetype pos, qsizetype n) |
(since 6.8) QByteArrayView & | slice(qsizetype pos) |
| QByteArrayView | sliced(qsizetype pos) const |
| QByteArrayView | sliced(qsizetype pos, qsizetype n) const |
| bool | startsWith(QByteArrayView bv) const |
| bool | startsWith(char ch) const |
| QByteArray | toByteArray() const |
(since 6.3) double | toDouble(bool *ok = nullptr) const |
(since 6.3) float | toFloat(bool *ok = nullptr) const |
(since 6.3) int | toInt(bool *ok = nullptr, int base = 10) const |
(since 6.3) long | toLong(bool *ok = nullptr, int base = 10) const |
(since 6.3) qlonglong | toLongLong(bool *ok = nullptr, int base = 10) const |
(since 6.3) short | toShort(bool *ok = nullptr, int base = 10) const |
(since 6.3) uint | toUInt(bool *ok = nullptr, int base = 10) const |
(since 6.3) ulong | toULong(bool *ok = nullptr, int base = 10) const |
(since 6.3) qulonglong | toULongLong(bool *ok = nullptr, int base = 10) const |
(since 6.3) ushort | toUShort(bool *ok = nullptr, int base = 10) const |
(since 6.3) QByteArrayView | trimmed() const |
| void | truncate(qsizetype length) |
(since 6.7) | operator std::string_view() const |
| char | operator[](qsizetype n) const |
Membres publics statiques
Éléments non membres associés
| bool | operator!=(const QByteArrayView &lhs, const QByteArrayView &rhs) |
| bool | operator<(const QByteArrayView &lhs, const QByteArrayView &rhs) |
| bool | operator<=(const QByteArrayView &lhs, const QByteArrayView &rhs) |
| bool | operator==(const QByteArrayView &lhs, const QByteArrayView &rhs) |
| bool | operator>(const QByteArrayView &lhs, const QByteArrayView &rhs) |
| bool | operator>=(const QByteArrayView &lhs, const QByteArrayView &rhs) |
Description détaillée
Un QByteArrayView fait référence à une portion contiguë d’octets bruts dont il n’est pas propriétaire. Il sert de type d’interface pour toutes sortes de données de type tableau d’octets, sans qu’il soit nécessaire de construire au préalable un QByteArray.
Les données du tableau d’octets peuvent être représentées sous la forme d’un tableau (ou d’une structure de données compatible avec les tableaux, telle que ` QByteArray`, `std::basic_string`, etc.) de type ` char`, ` signed char`, ` unsigned char ` ou ` std::byte`.
QByteArrayView est conçu comme un type d'interface ; son principal cas d'utilisation est celui d'un type de paramètre de fonction. Lorsque des instances de `QByteArrayView` sont utilisées comme variables automatiques ou membres de données, il faut veiller à ce que les données référencées (par exemple, celles détenues par un ` QByteArray`) survivent à l'instance de `QByteArrayView` sur tous les chemins d'exécution, afin d'éviter que la vue du tableau d'octets ne finisse par référencer des données supprimées.
Utilisé comme type d’interface, QByteArrayView permet à une seule fonction d’accepter une grande variété de sources de données de type tableau d’octets. Une fonction acceptant QByteArrayView remplace ainsi plusieurs surcharges de fonction (prenant, par exemple, QByteArray, const char *, etc.) tout en permettant de transmettre à la fonction un nombre encore plus grand de sources de données de type tableau d’octets.
QByteArrayView doit être passé par valeur, et non par référence à une constante :
void myfun1(QByteArrayView bv); // preferred
void myfun2(const QByteArrayView &bv); // compiles and works, but slowerSi vous souhaitez offrir à vos utilisateurs une liberté maximale quant au type de données qu’ils peuvent transmettre à votre fonction, accompagnez la surcharge QByteArrayView de surcharges pour
- char: cette surcharge peut déléguer à la version QByteArrayView :
void fun(QByteArrayView bv); void fun(char ch) { fun(QByteArrayView(&ch, 1)); }même si, pour des raisons techniques, QByteArrayView ne peut pas fournir de constructeur char par elle-même.
- QByteArray: si vous stockez une copie non modifiée du tableau d'octets et que vous souhaitez ainsi tirer parti du partage implicite d'QByteArray.
QByteArrayView peut également être utilisé comme valeur de retour d’une fonction. Si vous appelez une fonction renvoyant un `QByteArrayView`, veillez tout particulièrement à ne pas conserver cet objet plus longtemps que la durée pendant laquelle la fonction s'engage à maintenir les données référencées en mémoire. En cas de doute, obtenez une référence forte vers les données en appelant ` toByteArray()` pour convertir le `QByteArrayView` en un ` QByteArray`.
Les méthodes prises en charge par `QByteArrayView` sont identiques à celles de ` QByteArray`. En particulier, dans la mesure où il attribue une sémantique (telle que la casse des caractères, les espaces, les chiffres) aux données de caractères affichées, il utilise les paramètres régionaux C et le codage ASCII. Voir ` C locale and ASCII functions ` pour plus de détails et les limitations de ces méthodes.
Types d'octets compatibles
QByteArrayView peut être instancié à partir de n’importe quel conteneur d’octets, à condition que le type d’octet soit l’un des suivants :
char(signés et non signés)std::byte
Voir également QByteArray et QStringView.
Documentation sur les types de membres
QByteArrayView::const_iterator
Ce `typedef` fournit un itérateur `const` de type STL pour ` QByteArrayView`.
Voir également iterator et const_reverse_iterator.
QByteArrayView::const_pointer
Alias de ` value_type *`. Fourni à des fins de compatibilité avec la STL.
QByteArrayView::const_reference
Alias de ` value_type &`. Fourni à des fins de compatibilité avec la STL.
QByteArrayView::const_reverse_iterator
Ce typedef fournit un itérateur inversé constant de type STL pour QByteArrayView.
Voir également reverse_iterator et const_iterator.
QByteArrayView::difference_type
Alias de ` std::ptrdiff_t`. Fourni à des fins de compatibilité avec la STL.
QByteArrayView::iterator
Ce `typedef` fournit un itérateur `const` de type STL pour ` QByteArrayView`.
QByteArrayView ne prend pas en charge les itérateurs mutables ; il s'agit donc du même élément que const_iterator.
Voir également const_iterator et reverse_iterator.
QByteArrayView::pointer
Alias de value_type *. Fournis à des fins de compatibilité avec la STL.
QByteArrayView ne prend pas en charge les pointeurs mutables ; cette fonction est donc équivalente à ` const_pointer`.
QByteArrayView::reference
Alias de value_type &. Fournis à des fins de compatibilité avec la STL.
QByteArrayView Ne prend pas en charge les références modifiables ; cette fonction est donc identique à ` const_reference`.
QByteArrayView::reverse_iterator
Ce typedef fournit un itérateur inversé constant de type STL pour QByteArrayView.
QByteArrayView 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.
QByteArrayView::size_type
Alias de `qsizetype`. Fournis à des fins de compatibilité avec la STL.
QByteArrayView::storage_type
Alias de char.
QByteArrayView::value_type
Alias de ` const char`. Fournis à des fins de compatibilité avec la STL.
Documentation sur les fonctions membres
[constexpr noexcept default] QByteArrayView::QByteArrayView()
Crée une vue de tableau d'octets nuls.
Voir aussi isNull().
[constexpr noexcept, since 6.9] template <typename Byte> requires if_compatible_byte<Byte> QByteArrayView::QByteArrayView(const Byte (&data)[])
Crée une vue de tableau d'octets sur ` data`, un tableau de taille inconnue. La longueur est déterminée par la recherche du premier ` Byte(0)`.
data doit rester valide pendant toute la durée de vie de cet objet de vue de tableau d’octets.
Contraintes
Ne participe à la résolution des surcharges que si ` Byte ` est un type d'octets compatible.
Cette fonction a été introduite dans Qt 6.9.
Voir aussi Compatible Byte Types.
[constexpr noexcept] template <typename Byte> QByteArrayView::QByteArrayView(const Byte *data)
Crée une vue de tableau d'octets sur data. La longueur est déterminée en recherchant le premier Byte(0).
data doit rester valide pendant toute la durée de vie de cet objet de vue de tableau d’octets.
Le passage d’ nullptr en tant que data est sans risque et donne lieu à une vue de tableau d’octets nulle.
Contraintes
Ne participe à la résolution des surcharges que si ` data ` n’est pas un tableau et si ` Byte ` est un type d’octet compatible.
Voir aussi Compatible Byte Types.
[constexpr noexcept] template <typename Container> requires if_compatible_container<Container> QByteArrayView::QByteArrayView(const Container &c)
Crée une vue de tableau d'octets sur le conteneur de type tableau c. La longueur et les données sont définies respectivement via std::size(c) et std::data(c).
Les données du conteneur doivent rester valides pendant toute la durée de vie de cet objet de vue de tableau d’octets.
Contraintes
Ne participe à la résolution des surcharges que si ` c ` est un conteneur contigu dont les éléments sont d’un type d’octet compatible.
Voir également Compatible Byte Types.
[noexcept] QByteArrayView::QByteArrayView(const QByteArray &byteArray)
Crée une vue de tableau d'octets sur byteArray.
byteArray.data() doit rester valide pendant toute la durée de vie de cet objet de vue de tableau d'octets.
La vue de tableau d'octets sera nulle si et seulement si byteArray.isNull().
[constexpr noexcept] template <size_t Size> QByteArrayView::QByteArrayView(const char (&data)[Size])
Crée une vue de tableau d'octets sur le tableau de caractères data. La vue couvre le tableau jusqu'à ce que le premier '\0' soit rencontré, ou jusqu'à Size, selon la première éventualité. Si vous avez besoin du tableau complet, utilisez plutôt fromArray().
data doit rester valide pendant toute la durée de vie de cet objet de vue de tableau d’octets.
Remarque : ce constructeur n’est disponible que pour les littéraux de tableau de caractères. Cela s’explique par la nécessité d’assurer la compatibilité avec les bibliothèques C qui prédéfinissent des tableaux « suffisamment grands », mais n’utilisent qu’une partie de l’espace préalloué. Pour prendre cela en charge de manière intuitive dans une surcharge implicite du constructeur, il faut s’arrêter au premier char(0). Cela est logique pour un tableau de caractères, mais pas pour un tableau de type « std::byte ». Cela est toutefois incohérent avec les constructeurs correspondants pour les pointeurs (Byte*) et les tableaux de longueur inconnue (Byte[]), et pourrait donc être modifié dans une future version de Qt.
Voir également fromArray.
[constexpr noexcept] QByteArrayView::QByteArrayView(std::nullptr_t)
Crée une vue de tableau d'octets nuls.
Voir aussi isNull().
[constexpr] template <typename Byte> requires if_compatible_byte<Byte> QByteArrayView::QByteArrayView(const Byte *first, const Byte *last)
Crée une vue de tableau d'octets sur first avec la longueur (last - first).
La plage [first,last) doit rester valide pendant toute la durée de vie de ce QByteArrayView.
Le passage de ` \nullptr ` comme ` first ` est sans risque si ` last ` est également ` nullptr`, et donne lieu à une vue de tableau d’octets 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 ` Byte ` est un type d’octets compatible.
Voir aussi Compatible Byte Types.
[constexpr] template <typename Byte> requires if_compatible_byte<Byte> QByteArrayView::QByteArrayView(const Byte *data, qsizetype len)
Crée une vue de tableau d'octets sur data d'une longueur de len.
La plage [data,len) doit rester valide pendant toute la durée de vie de ce QByteArrayView.
Le passage de ` nullptr ` comme ` data ` est sans risque si ` len ` est également égal à 0, et donne lieu à une vue de tableau d’octets nulle.
Le comportement est indéfini si len est négatif ou, lorsqu’il est positif, si data est égal à nullptr.
Contraintes
Ne participe à la résolution des surcharges que si Byte est un type d’octet compatible.
Voir également Compatible Byte Types.
[constexpr] char QByteArrayView::at(qsizetype n) const
Renvoie le caractère situé à la position n dans cette vue de tableau d’octets.
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] char QByteArrayView::back() const
Renvoie l'octet de fin de la vue du tableau d'octets.
Cette fonction est fournie à des fins de compatibilité avec la STL.
Avertissement : l'appel de cette fonction sur une vue de tableau d'octets vide entraîne un comportement indéfini.
Voir aussi ` front()`.
[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::begin() const
Renvoie un itérateur de type STL (const) pointant vers le premier octet de la vue du tableau d'octets.
Cette fonction est fournie à des fins de compatibilité avec la STL.
Voir également end(), cbegin(), rbegin() et data().
[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::cbegin() const
Identique à ` begin()`.
Cette fonction est fournie à des fins de compatibilité avec la STL.
Voir également cend(), begin(), crbegin() et data().
[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::cend() const
Identique à ` end()`.
Cette fonction est fournie à des fins de compatibilité avec la STL.
Voir également cbegin(), end() et crend().
[constexpr] void QByteArrayView::chop(qsizetype length)
Tronque cette vue de tableau d'octets de length caractères.
Identique à ` *this = first(size() - length)`.
Remarque : le comportement est indéfini lorsque ` length ` < 0 ou ` length ` > ` size`().
Voir également sliced(), first(), last(), chopped(), truncate() et slice().
[constexpr] QByteArrayView QByteArrayView::chopped(qsizetype length) const
Renvoie une copie de cette vue de tableau d'octets en omettant ses derniers octets length. En d'autres termes, renvoie une vue de tableau d'octets de longueur size() - length à partir du début de cet objet.
Identique à ` first(size() - length)`.
Remarque : le comportement est indéfini lorsque length < 0 ou length > size().
Voir également first(), last(), sliced(), chop(), truncate() et slice().
[noexcept, since 6.2] int QByteArrayView::compare(QByteArrayView bv, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie un entier inférieur, égal ou supérieur à zéro selon que cette QByteArrayView se trouve avant, à la même position ou après la QByteArrayView bv . La comparaison tient compte de la casse cs.
Cette fonction a été introduite dans Qt 6.2.
Voir également operator==().
[constexpr noexcept] QByteArrayView::const_pointer QByteArrayView::constData() const
Renvoie un pointeur const de type ` char ` vers le premier octet de la vue du tableau d'octets.
Remarque : il n’ est pas garanti quele tableau de caractères représenté par la valeur de retour soit terminé par un caractère nul. Le pointeur renvoyé ne peut être utilisé en toute sécurité que pour accéder aux octets dont l’indice est inférieur à la valeur renvoyée par la fonction ` size()` de cette vue de tableau d’octets.
Voir également ` data()`, ` begin()` et ` end()`.
[noexcept] bool QByteArrayView::contains(QByteArrayView bv) const
[noexcept] bool QByteArrayView::contains(char ch) const
Renvoie « true » si cette vue de tableau d'octets contient une occurrence de la séquence d'octets analysée par « bv » ou de la séquence de caractères « ch », respectivement ; sinon, renvoie « false ».
Voir également indexOf() et lastIndexOf().
[noexcept] qsizetype QByteArrayView::count(QByteArrayView bv) const
Renvoie le nombre d’occurrences (pouvant se chevaucher) de la séquence d’octets analysée par bv dans cette vue de tableau d’octets.
Voir également ` contains()` et ` indexOf()`.
[noexcept] qsizetype QByteArrayView::count(char ch) const
Renvoie le nombre d'occurrences de l'ch e d'octets dans cette vue de tableau d'octets.
Il s'agit d'une fonction surchargée.
Voir également ` contains()` et ` indexOf()`.
[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::crbegin() const
Identique à rbegin().
Cette fonction est fournie à des fins de compatibilité avec la STL.
Voir également crend(), rbegin() et cbegin().
[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::crend() const
Identique à ` rend()`.
Cette fonction est fournie à des fins de compatibilité avec la STL.
Voir également crbegin(), rend() et cend().
[constexpr noexcept] QByteArrayView::const_pointer QByteArrayView::data() const
Renvoie un pointeur ` char ` de type `const` vers le premier octet de la vue du tableau d'octets.
Remarque : il n’ est pas garanti quele tableau de caractères représenté par la valeur de retour soit terminé par un caractère nul. Le pointeur renvoyé ne peut être utilisé en toute sécurité que pour accéder aux octets situés à des indices inférieurs à la valeur renvoyée par la fonction ` size()` de cette vue de tableau d’octets.
Voir également ` begin()` et ` end()`.
[constexpr noexcept] bool QByteArrayView::empty() const
Renvoie ` true ` si cette vue de tableau d'octets est vide, c'est-à-dire ` size() == 0`.
Cette fonction est fournie à des fins de compatibilité avec la STL.
Voir également isEmpty(), isNull() et size().
[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::end() const
Renvoie un itérateur const de type STL pointant immédiatement après le dernier octet de la vue du tableau d'octets.
Cette fonction est fournie à des fins de compatibilité avec la STL.
Voir également begin(), cend() et rend().
[noexcept] bool QByteArrayView::endsWith(QByteArrayView bv) const
[constexpr noexcept] bool QByteArrayView::endsWith(char ch) const
Renvoie « true » si cette vue de tableau d'octets se termine respectivement par une vue de tableau d'octets « bv » ou par une vue de chaîne de caractères « ch » ; sinon, renvoie « false ».
Voir également startsWith().
[constexpr] QByteArrayView QByteArrayView::first(qsizetype n) const
Renvoie une vue de tableau d'octets qui pointe vers les x premiers octets de cette vue de tableau d'octets ( n ). Équivalent à ` sliced(0, n)`.
Remarque : le comportement est indéfini lorsque n < 0 ou n > size().
Voir également last(), startsWith(), chopped(), chop(), truncate(), sliced() et slice().
[static constexpr noexcept] template <typename Byte, size_t Size> QByteArrayView QByteArrayView::fromArray(const Byte (&data)[Size])
Construit une vue de tableau d’octets sur le littéral de tableau data de Size octets. La vue couvre l’intégralité du tableau. Cela inclut le caractère de fin de chaîne nul des littéraux de tableau char. Si vous ne souhaitez pas que le caractère de fin de chaîne nul 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 acceptant un littéral de tableau de caractères, qui créera une vue s'étendant jusqu'au premier caractère de fin de chaîne (null-terminator) des données, sans l'inclure.
Cette fonction fonctionne avec n’importe quel littéral de tableau de type octet compatible.
Voir également Compatible Byte Types et QByteArrayView.
[constexpr] char QByteArrayView::front() const
Renvoie le premier octet de la vue du tableau d'octets.
Cette fonction est fournie à des fins de compatibilité avec la STL.
Avertissement : l'appel de cette fonction sur une vue de tableau d'octets vide entraîne un comportement indéfini.
Voir aussi ` back()`.
[noexcept] qsizetype QByteArrayView::indexOf(QByteArrayView bv, qsizetype from = 0) const
[noexcept] qsizetype QByteArrayView::indexOf(char ch, qsizetype from = 0) const
Renvoie la position d'index correspondant soit au début de la première occurrence de la séquence d'octets considérée par ` bv `, soit à la première occurrence de l'octet ` ch`, respectivement, dans cette vue du tableau d'octets, en effectuant une recherche vers l'avant à partir de la position d'index ` from.Returns -1` si aucune correspondance n'est trouvée.
Si from vaut -1, la recherche commence au dernier caractère ; s’il vaut -2, elle commence à l’avant-dernier caractère, et ainsi de suite.
Voir également lastIndexOf() et contains().
[constexpr noexcept] bool QByteArrayView::isEmpty() const
Renvoie « true » si cette vue de tableau d'octets est vide, c'est-à-dire « size() == 0 ».
Voir également empty(), isNull() et size().
[constexpr noexcept] bool QByteArrayView::isNull() const
Renvoie « true » si cette vue de tableau d'octets est nulle, c'est-à-dire « data() == nullptr ».
Voir également empty(), isEmpty() et size().
[noexcept, since 6.3] bool QByteArrayView::isValidUtf8() const
Renvoie ` true ` si cette vue de tableau d'octets contient des données valides encodées en UTF-8, ou ` false ` dans le cas contraire.
Cette fonction a été introduite dans Qt 6.3.
[constexpr] QByteArrayView QByteArrayView::last(qsizetype n) const
Renvoie une vue de tableau d'octets qui pointe vers les derniers n octets de cette vue de tableau d'octets.
Remarque : le comportement est indéfini lorsque n < 0 ou n > size().
Voir également first(), endsWith(), chopped(), chop(), truncate(), sliced() et slice().
[noexcept] qsizetype QByteArrayView::lastIndexOf(QByteArrayView bv, qsizetype from) const
[noexcept] qsizetype QByteArrayView::lastIndexOf(char ch, qsizetype from = -1) const
Renvoie la position d'index correspondant soit au début de la dernière occurrence de la séquence d'octets examinée par ` bv `, soit à la dernière occurrence de l'octet ` ch`, respectivement, dans cette vue du tableau d'octets, en effectuant une recherche vers l'arrière à partir de la position d'index ` from`.
Si from vaut -1, la recherche commence au dernier caractère ; s’il vaut -2, elle commence à l’avant-dernier caractère, et ainsi de suite.
Renvoie -1 si aucune correspondance n’est trouvée.
Remarque : lors de la recherche d’un « bv » de longueur 0, la correspondance à la fin des données est exclue de la recherche par un « from » négatif, même si « -1 » est généralement considéré comme une recherche à partir de la fin de la vue : la correspondance à la fin se trouve après le dernier caractère, elle est donc exclue. Pour inclure une telle correspondance vide finale, il faut soit donner une valeur positive à from, soit omettre complètement le paramètre from.
Voir également indexOf() et contains().
[noexcept, since 6.2] qsizetype QByteArrayView::lastIndexOf(QByteArrayView bv) const
Renvoie l'index du début de la dernière occurrence de la séquence d'octets analysée par ` bv ` dans cette vue de tableau d'octets, en effectuant une recherche vers l'arrière à partir de la fin de cette vue. Renvoie -1 si aucune correspondance n'est trouvée.
Il s’agit d’une fonction surchargée.
Cette fonction a été introduite dans Qt 6.2.
Voir également ` indexOf()` et ` contains()`.
[constexpr noexcept] qsizetype QByteArrayView::length() const
Identique à size().
Voir également empty(), isEmpty(), isNull() et size().
[static constexpr noexcept, since 6.8] qsizetype QByteArrayView::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 QByteArrayView::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.
[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::rbegin() const
Renvoie un itérateur inversé de type STL (const) pointant vers le premier octet de la vue du tableau d'octets, dans l'ordre inverse.
Cette fonction est fournie à des fins de compatibilité avec la STL.
Voir également rend(), crbegin() et begin().
[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::rend() const
Renvoie un itérateur inversé de type STL pointant sur l'octet suivant le dernier octet de la vue du tableau d'octets, dans l'ordre inverse.
Cette fonction est fournie à des fins de compatibilité avec la STL.
Voir également rbegin(), crend() et end().
[constexpr noexcept] qsizetype QByteArrayView::size() const
Renvoie le nombre d'octets contenus dans cette vue de tableau d'octets.
Voir également empty(), isEmpty() et isNull().
[constexpr, since 6.8] QByteArrayView &QByteArrayView::slice(qsizetype pos, qsizetype n)
Modifie cette vue de tableau d'octets pour qu'elle commence à la position pos et s'étende sur n octets.
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] QByteArrayView &QByteArrayView::slice(qsizetype pos)
Modifie cette vue de tableau d'octets pour qu'elle commence à la position pos et s'étende jusqu'à sa fin.
Remarque : le comportement est indéfini lorsque pos < 0 ou 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] QByteArrayView QByteArrayView::sliced(qsizetype pos) const
Renvoie une vue de tableau d'octets 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] QByteArrayView QByteArrayView::sliced(qsizetype pos, qsizetype n) const
Renvoie une vue de tableau d'octets pointant vers n octets de cette vue de tableau d'octets, à 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().
[noexcept] bool QByteArrayView::startsWith(QByteArrayView bv) const
[constexpr noexcept] bool QByteArrayView::startsWith(char ch) const
Renvoie « true » si cette vue de tableau d’octets commence respectivement par une vue de tableau d’octets « bv » ou un caractère « ch » ; sinon, renvoie « false ».
Voir également endsWith().
QByteArray QByteArrayView::toByteArray() const
Renvoie une copie profonde des données de cette vue de tableau d'octets sous la forme d'une ` QByteArray`.
La valeur renvoyée sera un ` QByteArray ` nul si et seulement si cette vue de tableau d'octets est nulle.
[since 6.3] double QByteArrayView::toDouble(bool *ok = nullptr) const
Renvoie cette vue de tableau d'octets convertie en une valeur de type ` double `.
Renvoie l'infini si la conversion provoque un débordement, ou 0,0 si la conversion échoue pour d'autres raisons (par exemple, un sous-débordement).
Si ok n'est pas nullptr, l'échec est signalé en définissant *ok sur false, et la réussite en définissant *ok sur true.
Avertissement : le contenu de ` QByteArrayView ` ne doit contenir que des caractères numériques valides, notamment les signes plus et moins, la lettre « e » utilisée en notation scientifique et le point décimal. L'inclusion de l'unité ou de caractères supplémentaires entraîne une erreur de conversion.
Remarque : la conversion du nombre est effectuée selon les paramètres régionaux C par défaut, quels que soient les paramètres régionaux de l’utilisateur. Utilisez la fonction ` QLocale ` pour effectuer des conversions tenant compte des paramètres régionaux entre des nombres et des chaînes de caractères.
Cette fonction ignore les espaces en début et en fin de chaîne.
Cette fonction a été introduite dans Qt 6.3.
[since 6.3] float QByteArrayView::toFloat(bool *ok = nullptr) const
Renvoie cette vue de tableau d'octets convertie en une valeur de type ` float `.
Renvoie l'infini si la conversion provoque un débordement, ou 0,0 si la conversion échoue pour d'autres raisons (par exemple, un sous-débordement).
Si ok n'est pas nullptr, l'échec est signalé en définissant *ok sur false, et la réussite en définissant *ok sur true.
QByteArrayView string("1234.56 Volt");
bool ok;
float a = string.toFloat(&ok); // a == 0, ok == false
a = string.first(7).toFloat(&ok); // a == 1234.56, ok == trueAvertissement : le contenu de ` QByteArrayView ` ne doit contenir que des caractères numériques valides, notamment les signes plus et moins, la lettre « e » utilisée en notation scientifique et le point décimal. L’ajout d’une unité ou de caractères supplémentaires entraîne une erreur de conversion.
Remarque : la conversion du nombre est effectuée selon les paramètres régionaux par défaut de C, quels que soient les paramètres régionaux de l’utilisateur. Utilisez la fonction ` QLocale ` pour effectuer des conversions tenant compte des paramètres régionaux entre des nombres et des chaînes de caractères.
Cette fonction ignore les espaces en début et en fin de chaîne.
Cette fonction a été introduite dans Qt 6.3.
[since 6.3] int QByteArrayView::toInt(bool *ok = nullptr, int base = 10) const
Renvoie cette vue de tableau d'octets convertie en une valeur de type ` int ` en utilisant la base base, qui est de 10 par défaut. Les bases 0 et 2 à 36 sont prises en charge, les lettres étant utilisées pour les chiffres supérieurs à 9 ; A correspond à 10, B à 11, et ainsi de suite.
Si ` base ` est égal à 0, la base est déterminée automatiquement selon les règles suivantes : si la vue du tableau d’octets commence par « 0x », le reste est interprété en hexadécimal (base 16) ; sinon, si elle commence par « 0 », le reste est interprété en octal (base 8) ; dans le cas contraire, il est interprété en décimal.
Renvoie 0 si la conversion échoue.
Si ` ok ` n’est pas ` nullptr`, l’échec est signalé en définissant *`ok ` sur ` false`, et la réussite en définissant *`ok ` sur ` true`.
QByteArrayView str("FF");
bool ok;
int hex = str.toInt(&ok, 16); // hex == 255, ok == true
int dec = str.toInt(&ok, 10); // dec == 0, ok == falseRemarque : la conversion du nombre est effectuée selon les paramètres régionaux C par défaut, indépendamment des paramètres régionaux de l’utilisateur. Utilisez ` QLocale ` pour effectuer des conversions tenant compte des paramètres régionaux entre les nombres et les chaînes de caractères.
Cette fonction a été introduite dans Qt 6.3.
[since 6.3] long QByteArrayView::toLong(bool *ok = nullptr, int base = 10) const
Renvoie cette vue de tableau d'octets convertie en un entier de type « long » en utilisant la base base, qui est égale à dix par défaut. Les bases 0 et 2 à 36 sont prises en charge, les lettres étant utilisées pour les chiffres supérieurs à 9 ; A correspond à dix, B à onze, et ainsi de suite.
Si ` base ` est égal à 0, la base est déterminée automatiquement selon les règles suivantes : si la vue du tableau d’octets commence par « 0x », le reste est interprété en hexadécimal (base 16) ; sinon, si elle commence par « 0 », le reste est interprété en octal (base 8) ; dans le cas contraire, il est interprété en décimal.
Renvoie 0 si la conversion échoue.
Si ` ok ` n’est pas ` nullptr`, l’échec est signalé en définissant *`ok ` sur ` false`, et la réussite en définissant *`ok ` sur ` true`.
QByteArrayView str("FF");
bool ok;
long hex = str.toLong(&ok, 16); // hex == 255, ok == true
long dec = str.toLong(&ok, 10); // dec == 0, ok == falseRemarque : la conversion du nombre est effectuée selon les paramètres régionaux C par défaut, indépendamment des paramètres régionaux de l’utilisateur. Utilisez ` QLocale ` pour effectuer des conversions tenant compte des paramètres régionaux entre les nombres et les chaînes de caractères.
Cette fonction a été introduite dans Qt 6.3.
[since 6.3] qlonglong QByteArrayView::toLongLong(bool *ok = nullptr, int base = 10) const
Renvoie cette vue de tableau d'octets convertie en une valeur de type ` long long ` en utilisant la base base, qui est égale à 10 par défaut. Les bases 0 et 2 à 36 sont prises en charge, les lettres étant utilisées pour les chiffres supérieurs à 9 ; A correspond à 10, B à 11, et ainsi de suite.
Si ` base ` est égal à 0, la base est déterminée automatiquement selon les règles suivantes : si la vue du tableau d'octets commence par « 0x », le reste est interprété en hexadécimal (base 16) ; sinon, si elle commence par « 0 », le reste est interprété en octal (base 8) ; dans le cas contraire, il est interprété en décimal.
Renvoie 0 si la conversion échoue.
Si ` ok ` n’est pas ` nullptr`, l’échec est signalé en définissant *`ok ` sur ` false`, et la réussite en définissant *`ok ` sur ` true`.
Remarque : la conversion du nombre est effectuée selon les paramètres régionaux C par défaut, indépendamment des paramètres régionaux de l’utilisateur. Utilisez ` QLocale ` pour effectuer des conversions tenant compte des paramètres régionaux entre les nombres et les chaînes de caractères.
Cette fonction a été introduite dans Qt 6.3.
[since 6.3] short QByteArrayView::toShort(bool *ok = nullptr, int base = 10) const
Renvoie cette vue de tableau d'octets convertie en une valeur de type « short » en utilisant la base base, qui est égale à 10 par défaut. Les bases 0 et 2 à 36 sont prises en charge, les lettres étant utilisées pour les chiffres supérieurs à 9 ; A correspond à 10, B à 11, et ainsi de suite.
Si ` base ` est égal à 0, la base est déterminée automatiquement selon les règles suivantes : si la vue du tableau d’octets commence par « 0x », le reste est interprété en hexadécimal (base 16) ; sinon, si elle commence par « 0 », le reste est interprété en octal (base 8) ; dans le cas contraire, il est interprété en décimal.
Renvoie 0 si la conversion échoue.
Si ` ok ` n’est pas ` nullptr`, l’échec est signalé en définissant *`ok ` sur ` false`, et la réussite en définissant *`ok ` sur ` true`.
Remarque : la conversion du nombre est effectuée selon les paramètres régionaux C par défaut, indépendamment des paramètres régionaux de l’utilisateur. Utilisez ` QLocale ` pour effectuer des conversions tenant compte des paramètres régionaux entre les nombres et les chaînes de caractères.
Cette fonction a été introduite dans Qt 6.3.
[since 6.3] uint QByteArrayView::toUInt(bool *ok = nullptr, int base = 10) const
Renvoie cette vue de tableau d'octets convertie en une valeur de type ` unsigned int ` en utilisant la base base, qui est égale à 10 par défaut. Les bases 0 et 2 à 36 sont prises en charge, les lettres étant utilisées pour les chiffres supérieurs à 9 ; A correspond à 10, B à 11, et ainsi de suite.
Si ` base ` est égal à 0, la base est déterminée automatiquement selon les règles suivantes : si la vue du tableau d’octets commence par « 0x », le reste est interprété en hexadécimal (base 16) ; sinon, si elle commence par « 0 », le reste est interprété en octal (base 8) ; dans le cas contraire, elle est interprétée en décimal.
Renvoie 0 si la conversion échoue.
Si ` ok ` n’est pas ` nullptr`, l’échec est signalé en définissant *`ok ` sur ` false`, et la réussite en définissant *`ok ` sur ` true`.
Remarque : la conversion du nombre est effectuée selon les paramètres régionaux C par défaut, quels que soient les paramètres régionaux de l'utilisateur. Utilisez ` QLocale ` pour effectuer des conversions tenant compte des paramètres régionaux entre les nombres et les chaînes de caractères.
Cette fonction a été introduite dans Qt 6.3.
[since 6.3] ulong QByteArrayView::toULong(bool *ok = nullptr, int base = 10) const
Renvoie cette vue de tableau d'octets convertie en un objet ` unsigned long int ` en utilisant la base base, qui est égale à 10 par défaut. Les bases 0 et 2 à 36 sont prises en charge ; les chiffres supérieurs à 9 sont représentés par des lettres : A correspond à 10, B à 11, et ainsi de suite.
Si ` base ` est égal à 0, la base est déterminée automatiquement selon les règles suivantes : si la vue du tableau d’octets commence par « 0x », le reste est interprété en hexadécimal (base 16) ; sinon, si elle commence par « 0 », le reste est interprété en octal (base 8) ; dans le cas contraire, il est interprété en décimal.
Renvoie 0 si la conversion échoue.
Si ` ok ` n’est pas ` nullptr`, l’échec est signalé en définissant *`ok ` sur ` false`, et la réussite en définissant *`ok ` sur ` true`.
Remarque : la conversion du nombre est effectuée selon les paramètres régionaux C par défaut, indépendamment des paramètres régionaux de l’utilisateur. Utilisez ` QLocale ` pour effectuer des conversions tenant compte des paramètres régionaux entre les nombres et les chaînes de caractères.
Cette fonction a été introduite dans Qt 6.3.
[since 6.3] qulonglong QByteArrayView::toULongLong(bool *ok = nullptr, int base = 10) const
Renvoie cette vue de tableau d'octets convertie en une valeur de type ` unsigned long long ` en utilisant la base base, qui est égale à 10 par défaut. Les bases 0 et 2 à 36 sont prises en charge, les lettres étant utilisées pour les chiffres supérieurs à 9 ; A correspond à 10, B à 11, et ainsi de suite.
Si ` base ` est égal à 0, la base est déterminée automatiquement selon les règles suivantes : si la vue du tableau d’octets commence par « 0x », le reste est interprété en hexadécimal (base 16) ; sinon, si elle commence par « 0 », le reste est interprété en octal (base 8) ; dans le cas contraire, il est interprété en décimal.
Renvoie 0 si la conversion échoue.
Si ` ok ` n’est pas ` nullptr`, l’échec est signalé en définissant *`ok ` sur ` false`, et la réussite en définissant *`ok ` sur ` true`.
Remarque : la conversion du nombre est effectuée selon les paramètres régionaux C par défaut, indépendamment des paramètres régionaux de l’utilisateur. Utilisez ` QLocale ` pour effectuer des conversions tenant compte des paramètres régionaux entre les nombres et les chaînes de caractères.
Cette fonction a été introduite dans Qt 6.3.
[since 6.3] ushort QByteArrayView::toUShort(bool *ok = nullptr, int base = 10) const
Renvoie cette vue de tableau d'octets convertie en une valeur de type ` unsigned short ` en utilisant la base base, qui est égale à 10 par défaut. Les bases 0 et 2 à 36 sont prises en charge, les lettres étant utilisées pour les chiffres supérieurs à 9 ; A correspond à 10, B à 11, et ainsi de suite.
Si ` base ` vaut 0, la base est déterminée automatiquement selon les règles suivantes : si la vue du tableau d’octets commence par « 0x », le reste est interprété en hexadécimal (base 16) ; sinon, si elle commence par « 0 », le reste est interprété en octal (base 8) ; dans le cas contraire, elle est interprétée en décimal.
Renvoie 0 si la conversion échoue.
Si ` ok ` n'est pas ` nullptr`, l'échec est signalé en définissant *`ok ` sur ` false`, et la réussite en définissant *`ok ` sur ` true`.
Remarque : la conversion du nombre s’effectue selon les paramètres régionaux par défaut du C, indépendamment des paramètres régionaux de l’utilisateur. Utilisez ` QLocale ` pour effectuer des conversions tenant compte des paramètres régionaux entre les nombres et les chaînes de caractères.
Cette fonction a été introduite dans Qt 6.3.
[noexcept, since 6.3] QByteArrayView QByteArrayView::trimmed() const
Renvoie une copie de cette vue de tableau d'octets dont les caractères d'espacement ont été supprimés au début et à la fin.
Les caractères d'espacement sont ceux pour lesquels la fonction standard C++ ` isspace() ` renvoie ` true ` dans la locale C ; il s'agit des caractères ASCII : tabulation «\t », saut de ligne «\n », retour chariot «\r », tabulation verticale «\v », saut de page «\f » et espace « ».
Cette fonction a été introduite dans Qt 6.3.
Voir également QChar::SpecialCharacter et Spacing Characters.
[constexpr] void QByteArrayView::truncate(qsizetype length)
Tronque cette vue de tableau d'octets à la longueur length.
Identique à ` *this = first(length)`.
Remarque : le comportement est indéfini lorsque length < 0 ou length > size().
Voir également first(), last(), sliced(), chopped() et chop().
[constexpr noexcept, since 6.7] QByteArrayView::operator std::string_view() const
Convertit cet objet ` QByteArrayView ` 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.
[constexpr] char QByteArrayView::operator[](qsizetype n) const
Renvoie le caractère situé à la position n dans cette vue de tableau d'octets.
Le comportement est indéfini si n est négatif ou s'il n'est pas inférieur à size().
Fonctions associées non membres
[noexcept] bool operator!=(const QByteArrayView &lhs, const QByteArrayView &rhs)
[noexcept] bool operator<(const QByteArrayView &lhs, const QByteArrayView &rhs)
[noexcept] bool operator<=(const QByteArrayView &lhs, const QByteArrayView &rhs)
[noexcept] bool operator==(const QByteArrayView &lhs, const QByteArrayView &rhs)
[noexcept] bool operator>(const QByteArrayView &lhs, const QByteArrayView &rhs)
[noexcept] bool operator>=(const QByteArrayView &lhs, const QByteArrayView &rhs)
Opérateurs de comparaison pour QByteArrayView.
© 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.