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は、暗黙的に共有されるクラスと 文字列データのためのクラスの一部です。
このクラスは強く比較可能です。
このクラスはQByteArray および const char * と強く比較可能です。
このクラスはQString,QStringView,QUtf8StringView,QLatin1StringView,QChar, char16_t と強く比較可能です。
文字列および Unicode 文字型と比較する場合、内容は UTF-8 として解釈されます。
注意:このクラスの関数はすべてリエントラントです。
パブリック型
const_iterator | |
const_pointer | |
const_reference | |
const_reverse_iterator | |
difference_type | |
iterator | |
pointer | |
reference | |
reverse_iterator | |
size_type | |
storage_type | |
value_type |
パブリック関数
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 |
静的パブリック・メンバー
関連する非メンバー
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
この型定義は,QByteArrayView に対する STL スタイルの const イテレータを提供する.
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
が互換性のあるバイト型である場合にのみ、オーバーロードの解決に参加します。
[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()
のバイト配列ビューを構築します。 このバイト配列ビューは、このバイト配列ビューオブジェクトの有効期間中有効でなければなりません。
バイト配列ビューがNULLになるのは、byteArray.isNull()
の場合のみです。
[constexpr noexcept]
template <size_t Size> QByteArrayView::QByteArrayView(const char (&)[Size] data)
文字配列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
を渡しても、last がnullptr
であれば安全です。
last がfirst より前にある場合、またはfirst がnullptr
でlast がそうでない場合の動作は未定義です。
このコンストラクタは、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 が負の場合、または正の場合、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 形式のイテレータを返します。
この関数は 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 との互換性のために提供されている。
[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() よりも小さいインデックスにあるバイトにアクセスする場合にのみ安全に使用できます。
[noexcept]
qsizetype QByteArrayView::count(QByteArrayView bv) const
このバイト配列ビューでbv が見ているバイト列の(重複している可能性のある)出現回数を返す。
[noexcept]
qsizetype QByteArrayView::count(char ch) const
これはオーバーロードされた関数です。
このバイト配列ビューにおける bytech の出現回数を返します。
[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 との互換性のために提供されている。
[constexpr noexcept]
QByteArrayView::const_pointer QByteArrayView::data() const
バイト配列ビューの最初のバイトへの constchar
ポインタを返します。
注意: 返り値で表される文字配列は、ヌル終端である保証はありません。返されるポインタは、このバイト配列ビューのsize() よりも小さいインデックスにあるバイトにアクセスする場合にのみ安全に使用できます。
[constexpr noexcept]
bool QByteArrayView::empty() const
このバイト配列ビューが空の場合、つまりsize() == 0
の場合はtrue
を返します。
この関数は STL との互換性のために提供されています。
isEmpty(),isNull(),size()も参照してください 。
[constexpr noexcept]
QByteArrayView::const_iterator QByteArrayView::end() const
バイト配列ビューの最後のバイトの直後を指すSTL 形式のイテレータを返します。
この関数は STL との互換性のために提供されています。
[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
を返す。
[constexpr noexcept]
bool QByteArrayView::isNull() const
このバイト配列ビューが NULL の場合はtrue
を、つまりdata() == nullptr
を返します。
[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
バイト配列ビューの最初のバイトを逆順で指す、STL 形式の逆順イテレータを返します。
この関数は STL との互換性のために提供されています。
[constexpr noexcept]
QByteArrayView::const_reverse_iterator QByteArrayView::rend() const
STL 形式の逆順イテレータで、バイト配列ビューの最後のバイトから逆順に1つ前のバイトを指すものを返します。
この関数は STL との互換性のために提供されています。
[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を返します。
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 = 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
このバイト配列のビューを、base を基数としてint
に変換して返す。基数 0 および 2 から 36 までがサポートされており、9 を超える桁にはアルファベットを使用します。
base バイト配列のビューが "0x "で始まる場合、残りは16進数(基数16)として読み込まれる。そうでない場合、"0 "で始まる場合、残りは8進数(基数8)として読み込まれる。
変換に失敗した場合は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 を基数としてlong
int に変換して返す。9を超える数字にはアルファベットを使用し、Aは10、Bは11といった具合です。
base バイト配列のビューが "0x "で始まる場合、残りは16進数(基数16)として読み込まれる。そうでない場合、"0 "で始まる場合、残りは8進数(基数8)として読み込まれる。
変換に失敗した場合は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 を基数としてlong long
に変換して返す。基数 0 および 2 から 36 までがサポートされ、9 を超える数字にはアルファベットを使用します。
base バイト配列ビューが "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 を基数としてshort
に変換して返す。基数 0 および 2 から 36 までがサポートされ、9 を超える数字にはアルファベットを使用します。
base バイト配列ビューが "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 を基数としてunsigned int
に変換して返す。基数 0 および 2 から 36 までがサポートされており、9 を超える桁にはアルファベットを使用します。
base バイト配列ビューが "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 を基数としてunsigned long int
に変換して返す。基数 0 および 2 から 36 までがサポートされており、9 を超える桁にはアルファベットを使用します。
base バイト配列ビューが "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 を基数としてunsigned long long
に変換して返す。基数 0 および 2 から 36 までがサポートされており、9 を超える桁にはアルファベットを使用します。
base バイト配列ビューが "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 を基数としてunsigned short
に変換して返す。基数 0 および 2 から 36 までがサポートされており、9 を超える桁にはアルファベットを使用します。
base バイト配列ビューが "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]
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() より小さくない場合、動作は未定義。
関連する非会員
[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 の比較演算子 .
© 2025 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.