QByteArrayView Class
La classe QByteArrayView fournit une vue sur un tableau d'octets avec un sous-ensemble en lecture seule de l'API QByteArray. Plus d'informations...
| 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 dépréciés
- QByteArrayView fait partie des classes partagées implicitement et des classes pour les données de type chaîne.
Cette classe est fortement comparable.
Cette classe est fortement comparable à QString, QStringView, QUtf8StringView, QLatin1StringView, QChar, et char16_t.
Lors de la comparaison avec les types de caractères string et Unicode, le contenu est interprété comme UTF-8.
Remarque : toutes les fonctions de cette classe sont réentrantes.
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 (&)[Size] data) | |
| 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
Non-membres apparenté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 s'agit d'un type d'interface pour toutes sortes de données de type tableau d'octets, sans qu'il soit nécessaire de construire d'abord 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 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 QByteArrayViews sont utilisés comme variables automatiques ou membres de données, il faut veiller à ce que les données référencées (par exemple, appartenant à un QByteArray) survivent au QByteArrayView sur tous les chemins de code, de peur que la vue de 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 fonctions (prenant, par exemple, QByteArray, const char *, etc.) tout en permettant de transmettre à la fonction encore plus de sources de données de type tableau d'octets.
QByteArrayView doit être transmis par valeur, et non par référence à une constante :
void myfun1(QByteArrayView bv); // preferred void myfun2(const QByteArrayView &bv); // compiles and works, but slower
Si vous souhaitez donner à vos utilisateurs un maximum de liberté 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 lui-même un constructeur char.
- QByteArray: si vous stockez une copie non modifiée du tableau d'octets et souhaitez donc profiter du partage implicite de QByteArray.
QByteArrayView peut également être utilisé comme valeur de retour d'une fonction. Si vous appelez une fonction renvoyant un QByteArrayView, veillez à ne pas conserver le QByteArrayView plus longtemps que la fonction ne promet de maintenir en vie les données référencées. En cas de doute, obtenez une référence forte aux données en appelant toByteArray() pour convertir le QByteArrayView en QByteArray.
Les méthodes prises en charge par QByteArrayView reflètent celles de QByteArray. En particulier, dans la mesure limitée où il attribue une sémantique (comme la casse des caractères, l'espacement, les chiffres des nombres) aux données de caractères visualisées, il utilise la locale C et le codage ASCII. Voir C locale and ASCII functions pour plus de détails et pour connaître les limites de ces méthodes.
Types d'octets compatibles
QByteArrayView peut être construit sur n'importe quel conteneur d'octets, où le type d'octet est l'un des suivants :
char(signé et non signé)std::byte
Voir également QByteArray et QStringView.
Documentation sur les types de membres
QByteArrayView::const_iterator
Ce typedef fournit un itérateur constant de style STL pour QByteArrayView.
Voir aussi iterator et const_reverse_iterator.
QByteArrayView::const_pointer
Alias de value_type *. Fourni à des fins de compatibilité avec le STL.
QByteArrayView::const_reference
Alias de value_type &. Fourni à des fins de compatibilité avec le STL.
QByteArrayView::const_reverse_iterator
Ce typedef fournit un const reverse iterator de style STL pour QByteArrayView.
Voir aussi reverse_iterator et const_iterator.
QByteArrayView::difference_type
Alias de std::ptrdiff_t. Fourni à des fins de compatibilité avec le STL.
QByteArrayView::iterator
Ce typedef fournit un itérateur constant de style STL pour QByteArrayView.
QByteArrayView STL ne supporte pas les itérateurs mutables, donc c'est la même chose que const_iterator.
Voir également const_iterator et reverse_iterator.
QByteArrayView::pointer
Alias de value_type *. Fourni à des fins de compatibilité avec la STL.
QByteArrayView ne prend pas en charge les pointeurs mutables, c'est donc la même chose que const_pointer.
QByteArrayView::reference
Alias de value_type &. Fourni à des fins de compatibilité avec la STL.
QByteArrayView ne prend pas en charge les références mutables, c'est donc la même chose que const_reference.
QByteArrayView::reverse_iterator
Ce type fournit un itérateur inverse constant de style STL pour QByteArrayView.
QByteArrayView STL ne supporte pas les itérateurs inversés mutables, donc c'est la même chose que const_reverse_iterator.
Voir également const_reverse_iterator et iterator.
QByteArrayView::size_type
Alias de qsizetype. Fourni à des fins de compatibilité avec le STL.
QByteArrayView::storage_type
Alias pour char.
QByteArrayView::value_type
Alias de const char. Fourni à des fins de compatibilité avec la STL.
Documentation sur les fonctions membres
[constexpr noexcept] QByteArrayView::QByteArrayView()
Construit une vue de tableau d'octets nulle.
Voir aussi isNull().
[constexpr noexcept, since 6.9] template <typename Byte, QByteArrayView::if_compatible_byte<Byte> = true> QByteArrayView::QByteArrayView(const Byte (&)[] data)
Construit une vue de tableau d'octets sur data, un tableau de taille inconnue. La longueur est déterminée en recherchant le premier Byte(0).
data L'objet "byte array view" doit rester valide pendant toute la durée de vie de l'objet "byte array view".
Contraintes
Ne participe à la résolution des surcharges que si Byte est un type d'octet 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)
Construit une vue de tableau d'octets sur data. La longueur est déterminée en recherchant le premier Byte(0).
data La longueur doit rester valide pendant toute la durée de vie de cet objet de type byte array view.
Transmettre nullptr en tant que data est sans danger et donne une vue de tableau d'octets nulle.
Contraintes
Participe à la résolution des surcharges uniquement 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, QByteArrayView::if_compatible_container<Container> = true> QByteArrayView::QByteArrayView(const Container &c)
Construit 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 "byte array view".
Contraintes
Participe à la résolution des surcharges uniquement 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)
Construit une vue de tableau d'octets sur byteArray.
byteArray.data() doit rester valide pendant toute la durée de vie de cet objet byte array view.
La vue de tableau d'octets sera nulle si et seulement si byteArray.isNull().
[constexpr noexcept] template <size_t Size> QByteArrayView::QByteArrayView(const char (&)[Size] data)
Construit 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 ce qui arrive en premier. 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 tableaux de caractères littéraux. La raison en est la compatibilité avec les bibliothèques C qui prédéfinissent des tableaux "suffisamment grands", mais qui n'utilisent qu'une partie de l'espace préalloué. Pour prendre en charge cela de manière intuitive dans une surcharge implicite du constructeur, nous devons nous arrêter à la première adresse char(0). C'est logique pour un tableau de caractères, mais pas pour un tableau std::byte. C'est cependant incohérent avec les constructeurs de pointeurs (Byte*) et de tableaux de longueur inconnue (Byte[]) correspondants, et cela pourrait donc changer dans une future version de Qt.
Voir aussi fromArray.
[constexpr noexcept] QByteArrayView::QByteArrayView(std::nullptr_t)
Construit une vue de tableau d'octets nulle.
Voir aussi isNull().
[constexpr] template <typename Byte, QByteArrayView::if_compatible_byte<Byte> = true> QByteArrayView::QByteArrayView(const Byte *first, const Byte *last)
Construit 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.
Transmettre \nullptr en tant que first est sûr si last est également nullptr, et résulte en une vue de tableau d'octets nulle.
Le comportement est indéfini si last précède first, ou si first est nullptr et last ne l'est pas.
Contraintes
Ne participe à la résolution des surcharges que si Byte est un type d'octet compatible.
Voir également Compatible Byte Types.
[constexpr] template <typename Byte, QByteArrayView::if_compatible_byte<Byte> = true> QByteArrayView::QByteArrayView(const Byte *data, qsizetype len)
Construit une vue de tableau d'octets sur data avec la longueur len.
La plage [data,len) doit rester valide pendant toute la durée de vie de ce QByteArrayView.
Transmettre nullptr en tant que data est sûr si len est également 0, et résulte en 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 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 à la position n dans cette vue de tableau d'octets.
Le comportement est indéfini si n est négatif ou supérieur à size().
Voir aussi operator[](), front(), et back().
[constexpr] char QByteArrayView::back() const
Renvoie le dernier octet de la vue du tableau d'octets.
Cette fonction est fournie pour la compatibilité STL.
Attention : L'appel de cette fonction sur une vue de tableau d'octets vide constitue un comportement indéfini.
Voir aussi front().
[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::begin() const
Renvoie un itérateur constant de style STL pointant sur le premier octet de la vue du tableau d'octets.
Cette fonction est fournie pour la compatibilité STL.
Voir aussi end(), cbegin(), rbegin(), et data().
[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::cbegin() const
Identique à begin().
Cette fonction est fournie pour la compatibilité STL.
Voir aussi cend(), begin(), crbegin() et data().
[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::cend() const
Identique à end().
Cette fonction est fournie pour la compatibilité STL.
Voir aussi cbegin(), end() et crend().
[constexpr] void QByteArrayView::chop(qsizetype length)
Tronque cette vue de tableau d'octets par length caractères.
Identique à *this = first(size() - length).
Remarque : le comportement est indéfini lorsque length < 0 ou length > size().
Voir aussi 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 les derniers length octets. En d'autres termes, renvoie une vue de tableau d'octets de longueur size() - length en commençant par le début de cet objet.
Identique à first(size() - length).
Remarque : le comportement est indéfini lorsque length < 0 ou length > size().
Voir aussi first(), last(), sliced(), chop(), truncate() et slice().
[noexcept, since 6.2] int QByteArrayView::compare(QByteArrayView bv, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie un nombre entier inférieur, égal ou supérieur à zéro selon que ce QByteArrayView est classé avant, à la même position que ou après le QByteArrayView bv . La comparaison est effectuée en fonction de la sensibilité à la casse cs.
Cette fonction a été introduite dans Qt 6.2.
Voir aussi operator==().
[constexpr noexcept] QByteArrayView::const_pointer QByteArrayView::constData() const
Renvoie un pointeur const char sur le premier octet de la vue du tableau d'octets.
Note : Le tableau de caractères représenté par la valeur de retour n' est pas garanti d'être terminé par des caractères nuls. Le pointeur retourné ne peut être utilisé que pour accéder à des octets dont l'indice est inférieur à la valeur size() de cette vue de tableau d'octets.
Voir aussi 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 vue par bv ou le caractère ch, respectivement ; sinon, renvoie false.
Voir aussi indexOf() et lastIndexOf().
[noexcept] qsizetype QByteArrayView::count(QByteArrayView bv) const
Renvoie le nombre d'occurrences (pouvant se chevaucher) de la séquence d'octets visualisée par bv dans cette vue de tableau d'octets.
Voir aussi contains() et indexOf().
[noexcept] qsizetype QByteArrayView::count(char ch) const
Renvoie le nombre d'occurrences de l'octet ch dans cette vue de tableau d'octets.
Il s'agit d'une fonction surchargée.
Voir aussi contains() et indexOf().
[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::crbegin() const
Identique à rbegin().
Cette fonction est fournie pour la compatibilité STL.
Voir aussi crend(), rbegin() et cbegin().
[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::crend() const
Identique à rend().
Cette fonction est fournie pour la compatibilité STL.
Voir aussi crbegin(), rend() et cend().
[constexpr noexcept] QByteArrayView::const_pointer QByteArrayView::data() const
Renvoie un pointeur const char sur le premier octet de la vue du tableau d'octets.
Note : Le tableau de caractères représenté par la valeur de retour n' est pas garanti d'être terminé par des caractères nuls. Le pointeur retourné ne peut être utilisé que pour accéder à des octets dont l'indice est inférieur à la valeur size() de cette vue de tableau d'octets.
[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é STL.
Voir aussi isEmpty(), isNull() et size().
[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::end() const
Renvoie un itérateur constant de style STL pointant juste après le dernier octet dans la vue du tableau d'octets.
Cette fonction est fournie pour la compatibilité STL.
Voir aussi 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 par la vue de tableau d'octets bv ou le caractère ch, respectivement ; sinon, renvoie false.
Voir aussi startsWith().
[constexpr] QByteArrayView QByteArrayView::first(qsizetype n) const
Renvoie une vue de tableau d'octets qui pointe vers les premiers n octets de cette vue de tableau d'octets. Équivalent à sliced(0, n).
Remarque : le comportement est indéfini lorsque n < 0 ou n > size().
Voir aussi last(), startsWith(), chopped(), chop(), truncate(), sliced() et slice().
[static constexpr noexcept] template <typename Byte, size_t Size> QByteArrayView QByteArrayView::fromArray(const Byte (&)[Size] data)
Construit une vue de tableau d'octets sur le littéral de tableau data. La vue couvre le tableau complet. Cela inclut le terminateur null de fin des littéraux de tableau char. Si vous ne voulez pas que le terminateur nul soit inclus dans la vue, vous pouvez chop() l'enlever lorsque vous êtes certain qu'il est à la fin. Vous pouvez également utiliser la surcharge du constructeur en prenant un littéral de tableau de caractères, ce qui créera une vue jusqu'au premier terminateur nul des données, mais sans l'inclure.
Cette fonction fonctionne avec n'importe quel littéral de tableau d'un type d'octet compatible.
Voir aussi 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 pour la compatibilité STL.
Attention : L'appel de cette fonction sur une vue de tableau d'octets vide constitue 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 du début de la première occurrence de la séquence d'octets visualisée par bv ou de la première occurrence de l'octet ch, respectivement, dans cette vue de tableau d'octets, en recherchant vers l'avant à partir de la position d'index from.Returns -1 si aucune correspondance n'est trouvée.
Si from est égal à -1, la recherche commence au dernier caractère ; s'il est égal à -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 aussi 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 aussi 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 encodées UTF-8 valides, 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 aussi 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 du début de la dernière occurrence de la séquence d'octets visualisée par bv ou de la dernière occurrence de l'octet ch, respectivement, dans cette vue de tableau d'octets, en effectuant une recherche à rebours à partir de la position d'index from.
Si from est égal à -1, la recherche commence au dernier caractère ; s'il est égal à -2, à l'avant-dernier caractère, et ainsi de suite.
La recherche renvoie -1 si aucune correspondance n'est trouvée.
Remarque : lors de la recherche d'une donnée de longueur 0 bv, la correspondance à la fin des données est exclue de la recherche par une valeur négative from, même si -1 est normalement 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 finale vide, 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 la position d'index du début de la dernière occurrence de la séquence d'octets visualisé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 de tableau d'octets. Retourne -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 aussi 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()
Il renvoie le nombre maximum d'éléments que la vue peut théoriquement représenter. En pratique, ce nombre peut être beaucoup plus petit, limité par la quantité de mémoire disponible dans 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 pour la compatibilité STL.
Retourne maxSize().
Cette fonction a été introduite dans Qt 6.8.
[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::rbegin() const
Renvoie un itérateur inverse de style STL pointant sur le premier octet de la vue du tableau d'octets, dans l'ordre inverse.
Cette fonction est fournie pour la compatibilité STL.
Voir aussi rend(), crbegin(), et begin().
[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::rend() const
Renvoie un itérateur inversé de style STL pointant sur l'avant-dernier octet de la vue du tableau d'octets, dans l'ordre inverse.
Cette fonction est fournie pour la compatibilité STL.
Voir aussi rbegin(), crend(), et end().
[constexpr noexcept] qsizetype QByteArrayView::size() const
Renvoie le nombre d'octets dans cette vue de tableau d'octets.
Voir aussi empty(), isEmpty() et isNull().
[constexpr, since 6.8] QByteArrayView &QByteArrayView::slice(qsizetype pos, qsizetype n)
Modifie la vue de ce tableau d'octets pour qu'elle commence à la position pos et s'étende à 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 aussi 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'à la 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 aussi sliced(), first(), last(), chopped(), chop() et truncate().
[constexpr] QByteArrayView QByteArrayView::sliced(qsizetype pos) const
Renvoie une vue sous forme 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 aussi first(), last(), chopped(), chop(), truncate() et slice().
[constexpr] QByteArrayView QByteArrayView::sliced(qsizetype pos, qsizetype n) const
Renvoie une vue de tableau d'octets qui pointe 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 aussi 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 par la vue de tableau d'octets bv ou le caractère ch, respectivement ; sinon, renvoie false.
Voir aussi endsWith().
QByteArray QByteArrayView::toByteArray() const
Renvoie une copie profonde des données de cette vue de tableau d'octets sous la forme d'un QByteArray.
La valeur de retour sera une valeur nulle QByteArray 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 double.
Renvoie une infinité si la conversion déborde ou 0.0 si la conversion échoue pour d'autres raisons (par exemple, un débordement).
Si ok n'est pas nullptr, l'échec est signalé par l'affectation de *ok à false, et la réussite par l'affectation de *ok à true.
Attention : Le contenu de QByteArrayView ne peut contenir que des caractères numériques valides, notamment le signe plus/moins, le caractère e utilisé dans la 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 dans la locale C par défaut, quelle que soit la locale de l'utilisateur. Utilisez QLocale pour effectuer des conversions locales entre les nombres et les chaînes de caractères.
Cette fonction ignore les caractères d'espacement de début et de fin.
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 float.
Renvoie une infinité si la conversion déborde ou 0.0 si la conversion échoue pour d'autres raisons (par exemple, un débordement).
Si ok n'est pas nullptr, l'échec est signalé par l'affectation de *ok à false, et la réussite par l'affectation de *ok à 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 == true
Attention : Le contenu de QByteArrayView ne peut contenir que des caractères numériques valides, notamment le signe plus/moins, le caractère e utilisé dans la 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 dans la locale C par défaut, quelle que soit la locale de l'utilisateur. Utilisez QLocale pour effectuer des conversions locales entre les nombres et les chaînes de caractères.
Cette fonction ignore les espaces blancs de début et de fin.
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 int en utilisant la base base, qui est dix par défaut. Les bases 0 et 2 à 36 sont supportées, en utilisant des lettres pour les chiffres au-delà de 9 ; A est dix, B est onze et ainsi de suite.
Si base vaut 0, la base est déterminée automatiquement à l'aide des règles suivantes : si la vue du tableau d'octets commence par "0x", le reste est lu en hexadécimal (base 16) ; sinon, si elle commence par "0", le reste est lu en octal (base 8) ; sinon, elle est lue en décimal.
Retourne 0 si la conversion échoue.
Si ok n'est pas nullptr, l'échec est signalé par l'affectation de *ok à false, et la réussite par l'affectation de *ok à 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 == false
Remarque : la conversion du nombre est effectuée dans la locale C par défaut, quelle que soit la locale de l'utilisateur. Utilisez QLocale pour effectuer des conversions locales 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 long int en utilisant la base base, qui est dix par défaut. Les bases 0 et 2 à 36 sont supportées, en utilisant des lettres pour les chiffres au-delà de 9 ; A est dix, B est onze et ainsi de suite.
Si base vaut 0, la base est déterminée automatiquement à l'aide des règles suivantes : si la vue du tableau d'octets commence par "0x", le reste est lu en hexadécimal (base 16) ; sinon, si elle commence par "0", le reste est lu en octal (base 8) ; sinon, elle est lue en décimal.
Retourne 0 si la conversion échoue.
Si ok n'est pas nullptr, l'échec est signalé par l'affectation de *ok à false, et la réussite par l'affectation de *ok à 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 == false
Remarque : la conversion du nombre est effectuée dans la locale C par défaut, quelle que soit la locale de l'utilisateur. Utilisez QLocale pour effectuer des conversions locales 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 long long en utilisant la base base, qui est dix par défaut. Les bases 0 et 2 à 36 sont supportées, en utilisant des lettres pour les chiffres au-delà de 9 ; A est dix, B est onze et ainsi de suite.
Si base vaut 0, la base est déterminée automatiquement à l'aide des règles suivantes : si la vue du tableau d'octets commence par "0x", le reste est lu en hexadécimal (base 16) ; sinon, si elle commence par "0", le reste est lu en octal (base 8) ; sinon, elle est lue en décimal.
Retourne 0 si la conversion échoue.
Si ok n'est pas nullptr, l'échec est signalé par l'affectation de *ok à false, et la réussite par l'affectation de *ok à true.
Remarque : la conversion du nombre est effectuée dans la locale C par défaut, quelle que soit la locale de l'utilisateur. Utilisez QLocale pour effectuer des conversions locales 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 short en utilisant la base base, qui est dix par défaut. Les bases 0 et 2 à 36 sont supportées, en utilisant des lettres pour les chiffres au-delà de 9 ; A est dix, B est onze et ainsi de suite.
Si base vaut 0, la base est déterminée automatiquement à l'aide des règles suivantes : si la vue du tableau d'octets commence par "0x", le reste est lu en hexadécimal (base 16) ; sinon, si elle commence par "0", le reste est lu en octal (base 8) ; sinon, elle est lue en décimal.
Retourne 0 si la conversion échoue.
Si ok n'est pas nullptr, l'échec est signalé par l'affectation de *ok à false, et la réussite par l'affectation de *ok à true.
Remarque : la conversion du nombre est effectuée dans la locale C par défaut, quelle que soit la locale de l'utilisateur. Utilisez QLocale pour effectuer des conversions locales 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 unsigned int en utilisant la base base, qui est dix par défaut. Les bases 0 et 2 à 36 sont supportées, en utilisant des lettres pour les chiffres au-delà de 9 ; A est dix, B est onze et ainsi de suite.
Si base vaut 0, la base est déterminée automatiquement à l'aide des règles suivantes : si la vue du tableau d'octets commence par "0x", le reste est lu en hexadécimal (base 16) ; sinon, si elle commence par "0", le reste est lu en octal (base 8) ; sinon, elle est lue en décimal.
Retourne 0 si la conversion échoue.
Si ok n'est pas nullptr, l'échec est signalé par l'affectation de *ok à false, et la réussite par l'affectation de *ok à true.
Remarque : la conversion du nombre est effectuée dans la locale C par défaut, quelle que soit la locale de l'utilisateur. Utilisez QLocale pour effectuer des conversions locales 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 unsigned long int en utilisant la base base, qui est dix par défaut. Les bases 0 et 2 à 36 sont supportées, en utilisant des lettres pour les chiffres au-delà de 9 ; A est dix, B est onze et ainsi de suite.
Si base vaut 0, la base est déterminée automatiquement à l'aide des règles suivantes : si la vue du tableau d'octets commence par "0x", le reste est lu en hexadécimal (base 16) ; sinon, si elle commence par "0", le reste est lu en octal (base 8) ; sinon, elle est lue en décimal.
Retourne 0 si la conversion échoue.
Si ok n'est pas nullptr, l'échec est signalé par l'affectation de *ok à false, et la réussite par l'affectation de *ok à true.
Remarque : la conversion du nombre est effectuée dans la locale C par défaut, quelle que soit la locale de l'utilisateur. Utilisez QLocale pour effectuer des conversions locales 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 unsigned long long en utilisant la base base, qui est dix par défaut. Les bases 0 et 2 à 36 sont supportées, en utilisant des lettres pour les chiffres au-delà de 9 ; A est dix, B est onze et ainsi de suite.
Si base vaut 0, la base est déterminée automatiquement à l'aide des règles suivantes : si la vue du tableau d'octets commence par "0x", le reste est lu en hexadécimal (base 16) ; sinon, si elle commence par "0", le reste est lu en octal (base 8) ; sinon, elle est lue en décimal.
Retourne 0 si la conversion échoue.
Si ok n'est pas nullptr, l'échec est signalé par l'affectation de *ok à false, et la réussite par l'affectation de *ok à true.
Remarque : la conversion du nombre est effectuée dans la locale C par défaut, quelle que soit la locale de l'utilisateur. Utilisez QLocale pour effectuer des conversions locales 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 unsigned short en utilisant la base base, qui est dix par défaut. Les bases 0 et 2 à 36 sont supportées, en utilisant des lettres pour les chiffres au-delà de 9 ; A est dix, B est onze et ainsi de suite.
Si base vaut 0, la base est déterminée automatiquement à l'aide des règles suivantes : si la vue du tableau d'octets commence par "0x", le reste est lu en hexadécimal (base 16) ; sinon, si elle commence par "0", le reste est lu en octal (base 8) ; sinon, elle est lue en décimal.
Retourne 0 si la conversion échoue.
Si ok n'est pas nullptr, l'échec est signalé par l'affectation de *ok à false, et la réussite par l'affectation de *ok à true.
Remarque : la conversion du nombre est effectuée dans la locale C par défaut, quelle que soit la locale de l'utilisateur. Utilisez QLocale pour effectuer des conversions locales 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 forme '\f', et espace ' '.
Cette fonction a été introduite dans Qt 6.3.
Voir aussi 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 aussi 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 à la position n dans cette vue de tableau d'octets.
Le comportement est indéfini si n est négatif ou supérieur à size().
Non-membres apparentés
[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.