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 |
- 継承されたメンバを含む、すべてのメンバの一覧
- 非推奨メンバー
- 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スタイルの定数イテレータを提供する.
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 パラメータを完全に省略します。
[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
を渡しても、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
バイト配列ビューの最初のバイトを指す 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 との互換性のために用意されています。
[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
これはオーバーロードされた関数である。
このバイト配列ビューにおけるch バイトの出現回数を返します。
[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() よりも小さいインデックスにあるバイトにアクセスする場合にのみ安全に使用できます。
[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 の場合、つまり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 との互換性のために提供されています。
[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
このバイト配列ビューを、デフォルトでは 10 であるbase を基数としてint
に変換して返します。基数 0 および 2 から 36 までがサポートされており、9 を超える数字にはアルファベットを使用します。
base バイト配列ビューが "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 を基数としてlong
int に変換して返します。基数 0 および 2 から 36 までがサポートされており、9 を超える数字にはアルファベットを使用します。
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)として読み込まれる。
変換に失敗した場合は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 の比較演算子。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。