このページでは

QByteArrayView Class

QByteArrayView クラスは、QByteArray API の読み取り専用サブセットを使用して、バイト配列に対するビューを提供します。詳細...

ヘッダー: #include <QByteArrayView>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
以下のように: Qt 6.0

注:このクラスのすべての関数は再入可能です。

QByteArrayView の比較

カテゴリ比較可能な型説明
strongQByteArrayView
strongQString、QStringView 、QUtf8StringView 、QLatin1StringView 、QChar 、および char16_t。文字列や Unicode 文字型と比較する場合、その内容は UTF-8 として解釈されます。

パブリック型

パブリック関数

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

静的パブリックメンバー

QByteArrayView fromArray(const Byte (&data)[Size])
(since 6.8) qsizetype maxSize()
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)

詳細な説明

QByteArrayView は、自身が所有していない連続した生バイト領域を参照します。これは、QByteArray を事前に構築する必要なく、あらゆる種類のバイト配列のようなデータに対するインターフェース型として機能します。

バイト配列データは、char 、signed char 、unsigned char 、またはstd::byte の配列(あるいはQByteArray 、std::basic_stringなどの配列互換のデータ構造)として表現される場合があります。

QByteArrayViewはインターフェース型として設計されており、その主な用途は関数の引数型として使用されることです。 QByteArrayView を自動変数やデータメンバーとして使用する場合、バイト配列ビューが削除されたデータを参照してしまうことを防ぐため、参照されるデータ(たとえば、QByteArray が所有するデータ)が、すべてのコードパスにおいて QByteArrayView より長く存続するように注意する必要があります。

インターフェース型として使用する場合、QByteArrayView を使用すると、1 つの関数が、バイト配列のようなさまざまなデータソースを受け入れることが可能になります。 したがって、QByteArrayView を受け入れる 1 つの関数によって、複数の関数のオーバーロード(たとえば、QByteArray 、const char * など)を置き換えることができると同時に、さらに多くのバイト配列データソースをその関数に渡すことも可能になります。

QByteArrayView は、const への参照ではなく、値として渡す必要があります。

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

ユーザーが関数に渡せるデータの型について最大限の自由度を持たせたい場合は、QByteArrayView のオーバーロードに加えて、

  • char 用のオーバーロードを追加してください。このオーバーロードは QByteArrayView バージョンに委譲することができます:
        void fun(QByteArrayView bv);
        void fun(char ch) { fun(QByteArrayView(&ch, 1)); }

    技術的な理由により、QByteArrayView 自体が char コンストラクタを提供できない場合でも。

  • QByteArray: バイト配列の変更されていないコピーを格納し、QByteArray の暗黙的な共有機能を活用したい場合。

QByteArrayView は、関数の戻り値としても使用できます。 QByteArrayView を返す関数を呼び出す場合は、その関数が参照データを保持すると約束している期間を超えて QByteArrayView を保持しないよう、特に注意してください。不明な場合は、toByteArray() を呼び出して QByteArrayView をQByteArray に変換し、データへの強参照を取得してください。

QByteArrayViewがサポートするメソッドは、QByteArray のものを反映しています。特に、表示される文字データに意味論(大文字・小文字、スペース、数値の桁数など)を割り当てる限られた範囲において、CロケールとASCIIエンコーディングを使用します。これらのメソッドの詳細および制限については、C locale and ASCII functions を参照してください。

互換性のあるバイト型

QByteArrayView は、バイト型のいずれか(

  • char (符号付きおよび符号なしの両方)
  • std::byte

QByteArray およびQStringViewも参照してください 。

メンバ型のドキュメント

QByteArrayView::const_iterator

このtypedefは、QByteArrayView 用のSTLスタイルのconstイテレータを提供します。

iterator およびconst_reverse_iteratorも参照してください 。

QByteArrayView::const_pointer

value_type * の別名です。STL との互換性を確保するために提供されています。

QByteArrayView::const_reference

value_type & の別名です。STL との互換性を確保するために用意されています。

QByteArrayView::const_reverse_iterator

このtypedefは、QByteArrayView に対して、STLスタイルのconst逆イテレータを提供します。

reverse_iterator およびconst_iteratorも参照してください 。

QByteArrayView::difference_type

std::ptrdiff_t の別名です。STL との互換性を確保するために提供されています。

QByteArrayView::iterator

このtypedefは、QByteArrayView に対してSTLスタイルのconstイテレータを提供します。

QByteArrayView 可変イテレータはサポートされていないため、これは `const_iterator` と同じです。

const_iterator およびreverse_iteratorも参照してください 。

QByteArrayView::pointer

value_type * の別名です。STL との互換性を確保するために提供されています。

QByteArrayView 可変ポインタをサポートしていないため、これはconst_pointer と同じです。

QByteArrayView::reference

value_type & の別名です。STL との互換性を確保するために提供されています。

QByteArrayView 可変参照をサポートしていないため、これは `const_reference` と同じです。

QByteArrayView::reverse_iterator

このtypedefは、QByteArrayView に対してSTLスタイルのconstリバースイテレータを提供します。

QByteArrayView 可変の逆方向イテレータはサポートされていないため、これは `const_reverse_iterator` と同じです。

const_reverse_iterator およびiteratorも参照してください 。

QByteArrayView::size_type

qsizetype の別名です。STL との互換性を確保するために提供されています。

QByteArrayView::storage_type

char の別名。

QByteArrayView::value_type

const char の別名です。STLとの互換性を確保するために提供されています。

メンバ関数のドキュメント

[constexpr noexcept default] QByteArrayView::QByteArrayView()

ヌルバイト配列のビューを構築します。

isNull()も参照してください 。

[constexpr noexcept, since 6.9] template <typename Byte> requires if_compatible_byte<Byte> QByteArrayView::QByteArrayView(const Byte (&data)[])

data (サイズが不明な配列)上にバイト配列ビューを構築します。長さは、最初のByte(0) をスキャンすることで決定されます。

data このバイト配列ビューオブジェクトの存続期間中、有効であり続けなければなりません。

制約

Byte が互換性のあるバイト型である場合にのみ、オーバーロードの解決に関与します。

この関数は Qt 6.9 で導入されました。

Compatible Byte Typesも参照してください 。

[constexpr noexcept] template <typename Byte> QByteArrayView::QByteArrayView(const Byte *data)

data 上にバイト配列ビューを構築します。長さは、最初の `Byte(0)` が検出されるまでスキャンすることで決定されます。

data このバイト配列ビューオブジェクトの存続期間中、有効であり続けなければなりません。

`nullptr `を`data `として渡すことは安全であり、その結果、nullのバイト配列ビューが生成されます。

制約

data が配列ではなく、Byte が互換性のあるバイト型である場合にのみ、オーバーロードの解決に関与します。

Compatible Byte Typesも参照してください 。

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

配列のようなコンテナ `c` に対して、バイト配列ビューを構築します。長さとデータは、それぞれ `std::size(c) ` および `std::data(c) ` を通じて設定されます。

コンテナのデータは、このバイト配列ビューオブジェクトの存続期間中、有効なままである必要があります。

制約

c が、互換性のあるバイト型の要素を持つ連続したコンテナである場合にのみ、オーバーロードの解決に関与します。

「Compatible Byte Types」も参照してください 。

[noexcept] QByteArrayView::QByteArrayView(const QByteArray &byteArray)

byteArray 上にバイト配列ビューを構築します。

byteArray.data() このバイト配列ビューオブジェクトの存続期間中、有効であり続けなければなりません。

byteArray.isNull() の場合に限り、バイト配列ビューは null になります。

[constexpr noexcept] template <size_t Size> QByteArrayView::QByteArrayView(const char (&data)[Size])

char配列data に対してバイト配列ビューを構築します。このビューは、最初の'\0' が検出されるか、Size となるかのいずれか早い方まで、その配列をカバーします。配列全体が必要な場合は、代わりにfromArray()を使用してください。

data このバイト配列ビューオブジェクトの存続期間中、有効であり続けなければなりません。

注:このコンストラクタは 、char配列リテラルでのみ利用可能です。その理由は、「十分に大きい」配列を事前定義しているものの、事前割り当てされた領域の一部しか使用しないCライブラリとの互換性を確保するためです。 暗黙的なコンストラクタのオーバーロードでこれを直感的にサポートするには、最初のchar(0) で処理を停止する必要があります。これはchar配列にとっては論理的ですが、std::byte 配列にとってはそうではありません。ただし、これは対応するポインタ(Byte* )および長さが不明な配列(Byte[] )のコンストラクタと一貫性がなく、将来のQtバージョンで変更される可能性があります。

fromArrayも参照してください 。

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

ヌルバイトの配列ビューを構築します。

isNull()も参照してください 。

[constexpr] template <typename Byte> requires if_compatible_byte<Byte> QByteArrayView::QByteArrayView(const Byte *first, const Byte *last)

first 上に、長さ (last -first) のバイト配列ビューを構築します。

[first,last) の範囲は、この QByteArrayView の存続期間中、有効なままである必要があります。

last もnullptr である場合、first として\nullptr を渡すことは安全であり、その結果、null のバイト配列ビューが生成されます。

last がfirst より前にある場合、またはfirst がnullptr であるのに対しlast がそうでない場合、その挙動は未定義となります。

制約

Byte が互換性のあるバイト型である場合にのみ、オーバーロード解決の対象となります。

「Compatible Byte Types」も参照してください 。

[constexpr] template <typename Byte> requires if_compatible_byte<Byte> QByteArrayView::QByteArrayView(const Byte *data, qsizetype len)

data 上に、長さlen のバイト配列ビューを構築します。

[data,len) の範囲は、この QByteArrayView の存続期間中、有効なままである必要があります。

len が0である場合、nullptr をdata として渡しても安全であり、その結果、nullのバイト配列ビューが生成されます。

len が負の場合、または が正でdata がnullptr の場合、動作は未定義となります。

制約

Byte が互換性のあるバイト型である場合にのみ、オーバーロードの解決に関与します。

「Compatible Byte Types」も参照のこと 。

[constexpr] char QByteArrayView::at(qsizetype n) const

このバイト配列ビューのn の位置にある文字を返します。

n が負の数であるか、size() 以上でない場合、動作は未定義となります。

operator[]()、front()、およびback()も参照してください 。

[constexpr] char QByteArrayView::back() const

バイト配列ビューの最後のバイトを返します。

この関数は、STLとの互換性のために提供されています。

警告: 空のバイト配列ビューに対してこの関数を呼び出すと 、未定義の挙動となります。

front()も参照してください 。

[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::begin() const

バイト配列ビューの最初のバイトを指す、STL 形式のconstイテレータを返します。

この関数は、STLとの互換性を確保するために提供されています。

end()、cbegin()、rbegin()、およびdata()も参照してください 。

[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::cbegin() const

begin() と同じです。

この関数は、STLとの互換性を確保するために提供されています。

cend()、begin()、crbegin()、およびdata()も参照してください 。

[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::cend() const

end() と同じです。

この関数は、STLとの互換性を確保するために提供されています。

cbegin()、end()、およびcrend()も参照してください 。

[constexpr] void QByteArrayView::chop(qsizetype length)

このバイト配列ビューをlength 文字分切り捨てます。

*this = first(size() - length) と同じです。

注: length < 0 またはlength >size() の場合、動作は 未定義です。

関連項目: sliced()、first()、last()、chopped()、truncate()、およびslice()。

[constexpr] QByteArrayView QByteArrayView::chopped(qsizetype length) const

このバイト配列ビューのコピーを、最後のlength バイトを除いて返します。つまり、このオブジェクトの先頭から始まり、長さがsize() -length となるバイト配列ビューを返します。

first(size() - length) と同じです。

注: length < 0 またはlength >size() の場合、動作は 未定義です。

関連項目: first()、last()、sliced()、chop()、truncate()、およびslice()。

[noexcept, since 6.2] int QByteArrayView::compare(QByteArrayView bv, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

このQByteArrayView が、QByteArrayView bv よりも前にソートされるか、同じ位置にソートされるか、あるいは後にソートされるかによって、0より小さい、0以上、または0より大きい整数を返します。比較は、大文字と小文字の区別cs に従って行われます。

この関数は Qt 6.2 で導入されました。

operator==()も参照してください 。

[constexpr noexcept] QByteArrayView::const_pointer QByteArrayView::constData() const

バイト配列ビューの最初のバイトへの `char ` 型の `const` ポインタを返します。

注: 戻り値によって表される文字配列が ヌル終端されていることは保証されません。返されたポインタは、このバイト配列ビューのsize()で指定されたインデックス未満のバイトにアクセスする場合にのみ安全に使用できます。

関連項目: data()、begin()、およびend()。

[noexcept] bool QByteArrayView::contains(QByteArrayView bv) const

[noexcept] bool QByteArrayView::contains(char ch) const

このバイト配列ビューに、bv または文字ch で指定されたバイトシーケンスが含まれている場合は、true を返します。そうでない場合は、false を返します。

indexOf() およびlastIndexOf()も参照してください 。

[noexcept] qsizetype QByteArrayView::count(QByteArrayView bv) const

このバイト配列ビューにおいて、bv によって認識されたバイトシーケンスの(重複する可能性がある)出現回数を返します。

contains() およびindexOf()も参照してください 。

[noexcept] qsizetype QByteArrayView::count(char ch) const

このバイト配列ビュー内で、バイトch が何回出現するかを返します。

これはオーバーロードされた関数です。

contains() およびindexOf()も参照してください 。

[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::crbegin() const

rbegin() と同じです。

この関数は、STLとの互換性を確保するために提供されています。

crend()、rbegin()、およびcbegin()も参照してください 。

[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::crend() const

rend() と同じです。

この関数は、STLとの互換性を確保するために提供されています。

crbegin()、rend()、およびcend()も参照してください 。

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

バイト配列ビューの最初のバイトへの const `char ` ポインタを返します。

注: 戻り値によって表される文字配列が ヌル終端されていることは保証されません。返されたポインタは、このバイト配列ビューのsize()で指定されたインデックス未満のバイトにアクセスする場合にのみ安全に使用できます。

関連項目: begin() およびend()。

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

このバイト配列ビューが空の場合、つまり `size() == 0` の場合、true を返します。

この関数は、STL との互換性を確保するために提供されています。

isEmpty()、isNull()、およびsize()も参照してください 。

[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::end() const

バイト配列ビューの最後のバイトの直後を指す、STL スタイルのconstイテレータを返します。

この関数は、STLとの互換性を確保するために提供されています。

begin()、cend()、およびrend()も参照してください 。

[noexcept] bool QByteArrayView::endsWith(QByteArrayView bv) const

[constexpr noexcept] bool QByteArrayView::endsWith(char ch) const

このバイト配列ビューが、それぞれバイト配列ビュー `bv ` または文字 `ch` で終わっている場合は、`true ` を返します。それ以外の場合は、`false` を返します。

startsWith()も参照してください 。

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

このバイト配列ビューの最初のn バイトを指すバイト配列ビューを返します。sliced(0, n) と同等です。

注: n < 0 またはn >size() の場合、動作は 未定義です。

関連項目: last()、startsWith()、chopped()、chop()、truncate()、sliced()、およびslice()。

[static constexpr noexcept] template <typename Byte, size_t Size> QByteArrayView QByteArrayView::fromArray(const Byte (&data)[Size])

Size バイトの配列リテラルdata に対して、バイト配列ビューを構築します。このビューは配列全体をカバーします。これには、char 配列リテラルの末尾にあるヌル終端文字も含まれます。ビューにヌル終端文字を含めたくない場合は、それが末尾にあると確実な場合に、chop() を使用して除外することができます。 あるいは、char型の配列リテラルを受け取るコンストラクタのオーバーロードを使用することもできます。これにより、データ内の最初のヌル終端文字まで(ただし、そのヌル終端文字自体は含まない)のビューが作成されます。

この関数は、互換性のあるバイト型の配列リテラルであればどれでも動作します。

Compatible Byte Types およびQByteArrayViewも参照してください 。

[constexpr] char QByteArrayView::front() const

バイト配列ビューの最初のバイトを返します。

この関数は、STLとの互換性を確保するために提供されています。

警告: 空のバイト配列ビューに対してこの関数を呼び出すと 、未定義の挙動となります。

back()も参照してください 。

[noexcept] qsizetype QByteArrayView::indexOf(QByteArrayView bv, qsizetype from = 0) const

[noexcept] qsizetype QByteArrayView::indexOf(char ch, qsizetype from = 0) const

bv で参照されるバイトシーケンスの最初の出現位置、あるいはバイトch の最初の出現位置のいずれかについて、このバイト配列ビュー内のインデックス位置を返します。一致する項目が見つからない場合は、インデックス位置from.Returns -1 から順方向に検索します。

from が-1の場合、検索は最後の文字から開始されます。-2の場合は最後から2番目の文字から開始され、以下同様です。

lastIndexOf() およびcontains()も参照してください 。

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

このバイト配列ビューが空の場合、つまり `size() == 0` の場合、true を返します。

empty()、isNull()、およびsize()も参照してください 。

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

このバイト配列ビューがnullの場合、つまりdata() == nullptr の場合、true を返します。

empty()、isEmpty()、およびsize()も参照してください 。

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

このバイト配列ビューに有効なUTF-8エンコードデータが含まれている場合はtrue を返し、そうでない場合はfalse を返します。

この関数は Qt 6.3 で導入されました。

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

このバイト配列ビューの最後のn バイトを指すバイト配列ビューを返します。

注: n < 0 またはn >size() の場合、動作は 未定義です。

関連項目: first()、endsWith()、chopped()、chop()、truncate()、sliced()、およびslice()。

[noexcept] qsizetype QByteArrayView::lastIndexOf(QByteArrayView bv, qsizetype from) const

[noexcept] qsizetype QByteArrayView::lastIndexOf(char ch, qsizetype from = -1) const

インデックス位置from から逆方向に検索を行い、このバイト配列ビューにおいて、bv で参照されたバイトシーケンスの最後の出現箇所、またはバイトch の最後の出現箇所のいずれかのインデックス位置を返します。

from が -1 の場合、検索は最後の文字から開始されます。-2 の場合は最後から 2 番目の文字から開始されます。

一致する項目が見つからない場合は -1 を返します。

注: 長さ 0 の `bv` を検索する場合 、通常 `-1 ` はビューの末尾から検索すると考えられていますが、負の `from` によって、データの末尾にある一致は検索から除外されます。末尾の一致は最後の文字の後に位置するため、除外されるのです。 このような末尾の空の一致を含めるには、from に正の値を指定するか、from パラメータを完全に省略してください。

indexOf() およびcontains()も参照してください 。

[noexcept, since 6.2] qsizetype QByteArrayView::lastIndexOf(QByteArrayView bv) const

このバイト配列ビューにおいて、bv によって処理されたバイトシーケンスの最後の出現箇所の先頭位置を、このバイト配列ビューの末尾から逆方向に検索して返します。一致する箇所が見つからない場合は-1を返します。

これはオーバーロードされた関数です。

この関数は Qt 6.2 で導入されました。

indexOf() およびcontains()も参照してください 。

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

size() と同様です。

empty()、isEmpty()、isNull()、およびsize()も参照してください 。

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

この関数は、ビューが理論上表現できる要素の最大数を返します。実際には、システムで利用可能なメモリ量によって制限されるため、この数ははるかに少なくなる場合があります。

この関数は Qt 6.8 で導入されました。

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

この関数は、STLとの互換性を確保するために用意されています。

maxSize() を返します。

この関数は Qt 6.8 で導入されました。

[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::rbegin() const

バイト配列ビューの最初のバイトを指す、STL スタイルの逆順イテレータ(const)を、逆順で返します。

この関数は、STLとの互換性を確保するために提供されています。

rend()、crbegin()、およびbegin()も参照してください 。

[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::rend() const

バイト配列ビューの最後のバイトの1つ先を指す、STL形式の逆方向イテレータを、逆順で返します。

この関数は、STLとの互換性を確保するために提供されています。

rbegin()、crend()、およびend()も参照してください 。

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

このバイト配列ビューに含まれるバイト数を返します。

empty()、isEmpty()、およびisNull()も参照してください 。

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

このバイト配列ビューを、位置pos から始まり、n バイトにわたるように変更します。

注: pos < 0、n < 0、またはpos +n >size() の場合、動作は 未定義です。

この関数は Qt 6.8 で導入されました。

sliced()、first()、last()、chopped()、chop()、およびtruncate()も参照してください 。

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

このバイト配列ビューを、位置pos から始まり、その終わりまで拡張するように変更します。

注: pos < 0 またはpos >size() の場合、挙動は 未定義です。

これはオーバーロードされた関数です。

この関数は Qt 6.8 で導入されました。

関連項目: sliced()、first()、last()、chopped()、chop()、およびtruncate()。

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

このオブジェクトのpos の位置から始まり、その末尾まで続くバイト配列ビューを返します。

注: pos < 0 またはpos >size() の場合、動作は 未定義です。

関連項目: first()、last()、chopped()、chop()、truncate()、およびslice()。

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

位置pos から始まる、このバイト配列ビューの `n ` バイト分を指すバイト配列ビューを返します。

注: pos < 0、n < 0、またはpos +n >size() の場合、動作は 未定義です。

first()、last()、chopped()、chop()、truncate()、およびslice()も参照してください 。

[noexcept] bool QByteArrayView::startsWith(QByteArrayView bv) const

[constexpr noexcept] bool QByteArrayView::startsWith(char ch) const

このバイト配列ビューが、それぞれバイト配列ビュー `bv ` または文字 `ch` で始まる場合は、true を返します。それ以外の場合は、false を返します。

endsWith()も参照してください 。

QByteArray QByteArrayView::toByteArray() const

このバイト配列ビューのデータのディープコピーを、QByteArray として返します。

このバイト配列ビューがnullである場合に限り、戻り値はnullのQByteArray となります。

[since 6.3] double QByteArrayView::toDouble(bool *ok = nullptr) const

このバイト配列ビューをdouble 値に変換したものを返します。

変換時にオーバーフローが発生した場合は無限大を返し、その他の理由(アンダーフローなど)で変換に失敗した場合は0.0を返します。

ok がnullptr でない場合、*ok をfalse に設定して失敗を報告し、*ok をtrue に設定して成功を報告します。

警告: QByteArrayView の内容には 、プラス/マイナス記号、科学表記で使用される文字「e」、および小数点を含む有効な数値文字のみを含めることができます。単位やその他の文字を含めると、変換エラーが発生します。

注: 数値の変換は 、ユーザーのロケールに関係なく、デフォルトの C ロケールで行われます。数値と文字列間のロケールに応じた変換を行うには、`QLocale ` を使用してください。

この関数は、先頭および末尾の空白文字を無視します。

この関数は Qt 6.3 で導入されました。

[since 6.3] float QByteArrayView::toFloat(bool *ok = nullptr) const

このバイト配列ビューをfloat 値に変換したものを返します。

変換時にオーバーフローが発生した場合は無限大を、その他の理由(アンダーフローなど)で変換に失敗した場合は0.0を返します。

ok がnullptr でない場合、*ok をfalse に設定して失敗を報告し、*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

警告: ` QByteArrayView ` の内容には 、プラス/マイナス記号、科学表記で使用される文字「e」、および小数点を含む有効な数値文字のみを含めることができます。単位やその他の文字を含めると、変換エラーが発生します。

注: 数値の変換は 、ユーザーのロケールに関係なく、デフォルトの C ロケールで行われます。数値と文字列間のロケールに応じた変換を行うには、QLocale を使用してください。

この関数は、先頭および末尾の空白を無視します。

この関数は Qt 6.3 で導入されました。

[since 6.3] int QByteArrayView::toInt(bool *ok = nullptr, int base = 10) const

このバイト配列ビューを、基数base (デフォルトは10)を用いてint に変換したものを返します。基数0および2から36までがサポートされており、9を超える数字にはアルファベットが使用されます。Aは10、Bは11、というように続きます。

base が0の場合、基数は以下のルールに従って自動的に決定されます。バイト配列ビューが「0x」で始まる場合、残りの部分は16進数(基数16)として読み取られます。 それ以外の場合、先頭が「0」であれば、残りの部分は8進数(基数8)として読み取られます。それ以外の場合は10進数として読み取られます。

変換に失敗した場合は 0 を返します。

ok がnullptr でない場合、失敗は*ok をfalse に設定することで報告され、成功は*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

注: 数値の変換は 、ユーザーのロケールに関係なく、デフォルトの C ロケールで行われます。数値と文字列間のロケールに応じた変換を行うには、QLocale を使用してください。

この関数は Qt 6.3 で導入されました。

[since 6.3] long QByteArrayView::toLong(bool *ok = nullptr, int base = 10) const

このバイト配列ビューを、基数base (デフォルトは10)を用いてlong の整数に変換したものを返します。基数0および2から36までがサポートされており、9を超える数字にはアルファベットが使用されます。Aは10、Bは11というように続きます。

base が0の場合、基数は以下のルールに従って自動的に決定されます。バイト配列ビューが「0x」で始まる場合、残りの部分は16進数(基数16)として読み取られます。 それ以外の場合、先頭が「0」であれば、残りの部分は8進数(基数8)として読み取られ、それ以外の場合は10進数として読み取られます。

変換に失敗した場合は 0 を返します。

ok がnullptr でない場合、失敗は*ok をfalse に設定することで報告され、成功は*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

注: 数値の変換は 、ユーザーのロケールに関係なく、デフォルトの C ロケールで行われます。数値と文字列間のロケールに応じた変換を行うには、QLocale を使用してください。

この関数は Qt 6.3 で導入されました。

[since 6.3] qlonglong QByteArrayView::toLongLong(bool *ok = nullptr, int base = 10) const

このバイト配列ビューを、基数base (デフォルトは10)を用いてlong long に変換したものを返します。基数0および2から36までがサポートされており、9を超える数字にはアルファベットが使用されます。Aは10、Bは11というように続きます。

base が0の場合、基数は以下のルールに従って自動的に決定されます。バイト配列ビューが「0x」で始まる場合、残りの部分は16進数(基数16)として読み取られます。 それ以外の場合、先頭が「0」であれば、残りの部分は8進数(基数8)として読み取られ、それ以外の場合は10進数として読み取られます。

変換に失敗した場合は 0 を返します。

ok がnullptr でない場合、失敗は*ok をfalse に設定することで報告され、成功は*ok をtrue に設定することで報告されます。

注: 数値の変換は 、ユーザーのロケールに関係なく、デフォルトの C ロケールで行われます。数値と文字列間のロケールに応じた変換を行うには、QLocale を使用してください。

この関数は Qt 6.3 で導入されました。

[since 6.3] short QByteArrayView::toShort(bool *ok = nullptr, int base = 10) const

このバイト配列ビューを、基数base (デフォルトは10)を用いてshort に変換したものを返します。基数0および2から36までがサポートされており、9を超える数字にはアルファベットが使用されます。Aは10、Bは11というように続きます。

base が0の場合、基数は以下のルールに従って自動的に決定されます。バイト配列ビューが「0x」で始まる場合、残りの部分は16進数(基数16)として読み取られます。 それ以外の場合、先頭が「0」で始まる場合は、残りの部分が8進数(基数8)として読み取られます。それ以外の場合は10進数として読み取られます。

変換に失敗した場合は 0 を返します。

ok がnullptr でない場合、失敗は*ok をfalse に設定することで報告され、成功は*ok をtrue に設定することで報告されます。

注: 数値の変換は 、ユーザーのロケールに関係なく、デフォルトの C ロケールで行われます。数値と文字列間のロケールに応じた変換を行うには、QLocale を使用してください。

この関数は Qt 6.3 で導入されました。

[since 6.3] uint QByteArrayView::toUInt(bool *ok = nullptr, int base = 10) const

このバイト配列ビューを、基数base (デフォルトは10)を用いてunsigned int に変換したものを返します。基数0および2から36までがサポートされており、9を超える数字にはアルファベットが使用されます。Aは10、Bは11というように続きます。

base が0の場合、基数は以下のルールに従って自動的に決定されます。バイト配列ビューが「0x」で始まる場合、残りの部分は16進数(基数16)として読み取られます。 それ以外の場合、先頭が「0」であれば残りの部分は8進数(基数8)として読み取られ、それ以外の場合は10進数として読み取られます。

変換に失敗した場合は 0 を返します。

ok がnullptr でない場合、失敗は*ok をfalse に設定することで報告され、成功は*ok をtrue に設定することで報告されます。

注: 数値の変換は 、ユーザーのロケールに関係なく、デフォルトの C ロケールで行われます。数値と文字列間のロケールに応じた変換を行うには、QLocale を使用してください。

この関数は Qt 6.3 で導入されました。

[since 6.3] ulong QByteArrayView::toULong(bool *ok = nullptr, int base = 10) const

このバイト配列ビューを、基数base (デフォルトは10)を用いてunsigned long int に変換したものを返します。基数0および2から36までがサポートされており、9を超える数字にはアルファベットが使用されます。Aは10、Bは11というように続きます。

base が0の場合、基数は以下の規則に従って自動的に決定されます。バイト配列ビューが「0x」で始まる場合、残りの部分は16進数(基数16)として読み取られます。 それ以外の場合、先頭が「0」であれば、残りの部分は8進数(基数8)として読み取られます。それ以外の場合は10進数として読み取られます。

変換に失敗した場合は 0 を返します。

ok がnullptr でない場合、失敗は*ok をfalse に設定することで報告され、成功は*ok をtrue に設定することで報告されます。

注: 数値の変換は 、ユーザーのロケールに関係なく、デフォルトの C ロケールで行われます。数値と文字列間のロケールに応じた変換を行うには、QLocale を使用してください。

この関数は Qt 6.3 で導入されました。

[since 6.3] qulonglong QByteArrayView::toULongLong(bool *ok = nullptr, int base = 10) const

このバイト配列ビューを、基数base (デフォルトは10)を用いてunsigned long long に変換したものを返します。基数0および2から36までがサポートされており、9を超える数字にはアルファベットが使用されます。Aは10、Bは11というように続きます。

base が0の場合、基数は以下のルールに従って自動的に決定されます。バイト配列ビューが「0x」で始まる場合、残りの部分は16進数(基数16)として読み取られます。 それ以外の場合、先頭が「0」であれば、残りの部分は8進数(基数8)として読み取られます。それ以外の場合は10進数として読み取られます。

変換に失敗した場合は 0 を返します。

ok がnullptr でない場合、失敗は*ok をfalse に設定することで報告され、成功は*ok をtrue に設定することで報告されます。

注: 数値の変換は 、ユーザーのロケールに関係なく、デフォルトの C ロケールで行われます。数値と文字列間のロケールに応じた変換を行うには、QLocale を使用してください。

この関数は Qt 6.3 で導入されました。

[since 6.3] ushort QByteArrayView::toUShort(bool *ok = nullptr, int base = 10) const

このバイト配列ビューを、基数base (デフォルトは10)を用いてunsigned short に変換したものを返します。基数0および2から36までがサポートされており、9を超える数字にはアルファベットが使用されます。Aは10、Bは11というように続きます。

base が 0 の場合、基数は以下のルールに従って自動的に決定されます。バイト配列ビューが「0x」で始まる場合、その残りの部分は16進数(基数16)として読み取られます。 それ以外の場合、先頭が「0」であれば、残りの部分は8進数(基数8)として読み込まれます。それ以外の場合は10進数として読み込まれます。

変換に失敗した場合は 0 を返します。

ok がnullptr でない場合、失敗時は*ok をfalse に、成功時は*ok をtrue に設定することで、結果が報告されます。

注: 数値の変換は 、ユーザーのロケールに関係なく、デフォルトの C ロケールで行われます。数値と文字列間のロケールに応じた変換を行うには、QLocale を使用してください。

この関数は Qt 6.3 で導入されました。

[noexcept, since 6.3] QByteArrayView QByteArrayView::trimmed() const

このバイト配列ビューのコピーを返し、その先頭と末尾から区切り文字が削除されます。

空白文字とは、標準C++のisspace() 関数がCロケールにおいてtrue を返す文字を指します。これらは、ASCII文字のタブ '\t'、改行 '\n'、キャリッジリターン '\r'、垂直タブ '\v'、フォームフィード '\f'、およびスペース ' ' です。

この関数は Qt 6.3 で導入されました。

QChar::SpecialCharacter およびSpacing Charactersも参照してください 。

[constexpr] void QByteArrayView::truncate(qsizetype length)

このバイト配列ビューを、長さlength に切り詰めます。

*this = first(length) と同じです。

注: length < 0 またはlength >size() の場合、挙動は 未定義です。

first()、last()、sliced()、chopped()、およびchop()も参照してください 。

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

このQByteArrayView オブジェクトをstd::string_view オブジェクトに変換します。返されるビューは、このビューと同じデータポインタと長さを持っています。

この関数は Qt 6.7 で導入されました。

[constexpr] char QByteArrayView::operator[](qsizetype n) const

このバイト配列ビューのn の位置にある文字を返します。

n が負の値である場合、またはsize() 以上である場合、挙動は未定義となります。

at()、front()、およびback()も参照してください 。

関連する非メンバー

[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)

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.