QByteArrayView Class

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

Header: #include <QByteArrayView>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Since: Qt 6.0

このクラスは強く比較可能です。

このクラスはQByteArray および const char * と強く比較可能です。

このクラスはQString,QStringView,QUtf8StringView,QLatin1StringView,QChar, char16_t と強く比較可能です。

文字列やUnicode文字型と比較する場合、内容はUTF-8として解釈されます。

注意:このクラスの関数はすべてリエントラントです。

パブリック型

パブリック関数

QByteArrayView()
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) std::string_view operator std::string_view() const
char operator[](qsizetype n) const

静的パブリック・メンバー

QByteArrayView fromArray(const Byte (&)[Size] data)
(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 を構築する必要なく、あらゆる種類のバイト配列のようなデータへのインターフェース型として機能します。

バイト配列データは、charsigned charunsigned charstd::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

この型定義は,QByteArrayView に対するSTLスタイルの定数イテレータを提供する.

iterator およびconst_reverse_iterator参照

QByteArrayView::const_pointer

value_type * のエイリアス.STL との互換性のために提供される.

QByteArrayView::const_reference

value_type & のエイリアス.STL との互換性のために提供される.

QByteArrayView::const_reverse_iterator

この型定義は,QByteArrayView に対する STL 形式の const 逆イテレータを提供する.

reverse_iterator およびconst_iteratorも参照

QByteArrayView::difference_type

std::ptrdiff_t のエイリアス.STL との互換性のために提供される.

QByteArrayView::iterator

この型定義は,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

この型定義は,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 との互換性のために提供されています。

メンバ関数ドキュメント

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

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

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

endsWith()も参照

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

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

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

startsWith()も参照

[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 の場合、最後から次の文字から始まる。

lastIndexOf() およびcontains()も参照のこと

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

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

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

indexOf() およびlastIndexOf()も参照

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

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

このバイト配列ビューにおいて、bv によって表示されるバイト列の最後の出現の開始位置、またはch によって表示されるバイト列の最後の出現位置のいずれかのインデックス位置を、インデックス位置from から後方に検索して返します。

from が -1 の場合、検索は最後の文字から開始され、-2 の場合、最後から次の文字から開始される。

一致する文字が見つからなければ -1 を返す。

注意: 長さ0のbv を検索する場合、-1 は通常ビューの最後から検索すると考えられるにもかかわらず、from の負数によって、データの最後にあるマッチは検索から除外されます:最後のマッチは最後の文字のなので、除外されます。このような最後の空のマッチを含めるには、from に正の値を与えるか、from パラメータを完全に省略します。

indexOf() およびcontains()も参照

[constexpr noexcept] QByteArrayView::QByteArrayView()

NULL バイト配列ビューを構築します。

isNull()も参照

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

data のバイト配列ビューを構築します。長さは、最初のByte(0) をスキャンして決定します。

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

data としてnullptr を渡すと安全であり、NULL バイト配列ビューになります。

このコンストラクタは、data が配列ではなく、Byte が互換性のあるバイト型である場合にのみ、オーバーロードの解決に参加します。

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

[constexpr noexcept] template <typename Container, QByteArrayView::if_compatible_container<Container> = true> 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 (&)[Size] data)

char 配列data に対してバイト配列ビューを構築します。このビューは、最初に'\0' が現れるか、Size が現れるか、どちらか早い方まで配列をカバーします。完全な配列が必要な場合は、代わりにfromArray() を使用します。

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

注意: このコンストラクタは、char配列リテラルに対してのみ使用可能です。その理由は、"十分な大きさの "配列を事前に定義しておきながら、事前に割り当てられた領域の一部しか使用しないCライブラリとの互換性を保つためです。暗黙のコンストラクタのオーバーロードでこれを直感的にサポートするには、最初のchar(0) で停止する必要があります。これはchar配列では論理的ですが、std::byte 配列では論理的ではありません。

fromArrayも参照してください

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

nullバイト配列ビューを構築します。

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

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

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

[first,last) の範囲は、この QByteArrayView の有効期間中有効でなければなりません。

first として\nullptr を渡しても、lastnullptr であれば安全です。

lastfirst より前にある場合、またはfirstnullptrlast がそうでない場合の動作は未定義です。

このコンストラクタは、Byte が互換性のあるバイト型である場合にのみ、オーバーロードの解決に参加します。

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

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

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

[data,len) の範囲は、このQByteArrayViewの有効期間中有効でなければなりません。

data としてnullptr を渡すことは、len も 0 であれば安全であり、結果として null バイト配列ビューになります。

len が負の場合、または正の場合、datanullptr の場合の動作は未定義です。

このコンストラクタは、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

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

この関数は、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 の前か、同じ位置か、後かに応じて、ゼロより小さいか、等しいか、大きいかの整数を返す。比較は大文字小文字の区別cs に従って行われます。

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

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

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

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

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

data()、begin()、end()も参照

[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

バイト配列ビューの先頭バイトへの constchar ポインタを返します。

注意: 返り値で表される文字配列は、ヌル終端である保証はありません。返されるポインタは、このバイト配列ビューの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スタイルのイテレータを返します。

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

begin()、cend()、rend()も参照

[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 (&)[Size] data)

配列リテラルdata に対してバイト配列ビューを構築します。ビューは配列全体をカバーします。このビューには、char 配列リテラルの末尾のヌル・ターミネータも含まれます。ヌル・ターミネータをビューに含めたくない場合は、chop() を使用して、ヌル・ターミネータが末尾にあることを確認した上でそれを削除します。別の方法として、コンストラクタのオーバーロードに char 配列リテラルを指定することもできます。

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

Compatible Byte Types およびQByteArrayViewも参照のこと

[constexpr] char QByteArrayView::front() const

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

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

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

back()も参照

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

バイト配列ビューの最初のバイトを逆順で指す constSTL 形式の逆イテレータを返します。

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

rend(),crbegin(),begin()も参照してください

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

STL 形式の逆イテレータを、バイト配列ビューの最後のバイトから逆順に 1 つ前のバイトを指して返します。

この関数は 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()も参照

QByteArray QByteArrayView::toByteArray() const

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

返り値は、このバイト配列ビューが NULL の場合のみ、NULLQByteArray となる。

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

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

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

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

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

注意: 数値の変換は、ユーザーのロケールに関係なく、デフォルトのCロケールで行われる。数値と文字列間のロケール対応変換を行うには、QLocale を使用する。

この関数は、先頭と末尾のスペーシング文字を無視します。

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

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

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

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

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告されます。

QByteArrayView string("1234.56 Volt");
bool ok;
float a = str.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

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

base バイト配列ビューが "0x "で始まっている場合、残りは16進数(基数16)として読み込まれる。そうでない場合、"0 "で始まっている場合、残りは8進数(基数8)として読み込まれ、そうでない場合は10進数として読み込まれる。

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

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

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 を基数としてlong int に変換して返します。基数 0 および 2 から 36 までがサポートされており、9 を超える数字にはアルファベットを使用します。

base バイト配列のビューが "0x "で始まる場合、残りは16進数(基数16)として読み込まれる。そうでない場合、"0 "で始まる場合、残りは8進数(基数8)として読み込まれる。

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

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

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 を基数としてlong long に変換して返します。基数 0 と 2 から 36 までがサポートされており、9 を超える数字にはアルファベットを使用します。

base バイト配列ビューが "0x "で始まっている場合、残りは16進数(基数16)として読み込まれる。そうでない場合、"0 "で始まっている場合、残りは8進数(基数8)として読み込まれ、そうでない場合は10進数として読み込まれる。

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

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

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

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

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

このバイト配列ビューを、base を基数としてshort に変換して返します。基数 0 と 2 から 36 までがサポートされており、9 を超える数字にはアルファベットを使用します。

base バイト配列ビューが "0x "で始まっている場合、残りは16進数(基数16)として読み込まれる。そうでない場合、"0 "で始まっている場合、残りは8進数(基数8)として読み込まれ、そうでない場合は10進数として読み込まれる。

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

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

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

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

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

このバイト配列ビューを、base を基数としてunsigned int に変換して返します。基数 0 と 2 から 36 までがサポートされており、9 を超える数字にはアルファベットを使用します。

base バイト配列ビューが "0x "で始まっている場合、残りは16進数(基数16)として読み込まれる。そうでない場合、"0 "で始まっている場合、残りは8進数(基数8)として読み込まれ、そうでない場合は10進数として読み込まれる。

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

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

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

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

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

このバイト配列ビューを、base を基数としてunsigned long int に変換して返します。基数 0 と 2 から 36 までがサポートされており、9 を超える数字にはアルファベットを使用します。

base バイト配列ビューが "0x "で始まっている場合、残りは16進数(基数16)として読み込まれる。そうでない場合、"0 "で始まっている場合、残りは8進数(基数8)として読み込まれ、そうでない場合は10進数として読み込まれる。

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

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

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

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

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

このバイト配列ビューを、base を基数としてunsigned long long に変換して返します。基数 0 と 2 から 36 までがサポートされており、9 を超える数字にはアルファベットを使用します。

base バイト配列ビューが "0x "で始まっている場合、残りは16進数(基数16)として読み込まれる。そうでない場合、"0 "で始まっている場合、残りは8進数(基数8)として読み込まれ、そうでない場合は10進数として読み込まれる。

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

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

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

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

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

このバイト配列ビューを、base を基数としてunsigned short に変換して返します。基数 0 と 2 から 36 までがサポートされており、9 を超える数字にはアルファベットを使用します。

base バイト配列ビューが "0x "で始まっている場合、残りは16進数(基数16)として読み込まれる。そうでない場合、"0 "で始まっている場合、残りは8進数(基数8)として読み込まれる。

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

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

注意: 数値の変換は、ユーザーのロケールに関係なく、デフォルトの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::SpecialCharacterSpacing 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] std::string_view 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 の比較演算子。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。