QStringView Class
QStringView クラスは、QString API の読み取り専用サブセットを使用して、UTF-16 文字列の統一ビューを提供します。詳細...
Header: | #include <QStringView> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
- 継承メンバを含む全メンバのリスト
- 非推奨メンバー
- QStringViewは文字列データ用クラスの一部です。
注意:このクラスの関数はすべてリエントラントです。
パブリック型
const_iterator | |
const_pointer | |
const_reference | |
const_reverse_iterator | |
difference_type | |
iterator | |
pointer | |
reference | |
reverse_iterator | |
size_type | |
storage_type | |
value_type |
パブリック関数
QStringView() | |
QStringView(const Char (&)[N] string) | |
QStringView(const Char *str) | |
QStringView(const Container &str) | |
QStringView(const QString &str) | |
QStringView(std::nullptr_t) | |
QStringView(const Char *first, const Char *last) | |
QStringView(const Char *str, qsizetype len) | |
QString | arg(Args &&... args) const |
QChar | at(qsizetype n) const |
QChar | back() const |
QStringView::const_iterator | begin() const |
QStringView::const_iterator | cbegin() const |
QStringView::const_iterator | cend() const |
void | chop(qsizetype length) |
QStringView | chopped(qsizetype length) const |
int | compare(QChar ch) const |
int | compare(QChar ch, Qt::CaseSensitivity cs) const |
int | compare(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
int | compare(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.5) int | compare(QUtf8StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.1) QStringView::const_iterator | constBegin() const |
(since 6.0) QStringView::const_pointer | constData() const |
(since 6.1) QStringView::const_iterator | constEnd() const |
bool | contains(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
bool | contains(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
bool | contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.1) bool | contains(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const |
(since 6.1) qsizetype | count(const QRegularExpression &re) const |
(since 6.0) qsizetype | count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.4) qsizetype | count(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.0) qsizetype | count(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
QStringView::const_reverse_iterator | crbegin() const |
QStringView::const_reverse_iterator | crend() const |
QStringView::const_pointer | data() const |
bool | empty() const |
QStringView::const_iterator | end() const |
bool | endsWith(QChar ch) const |
bool | endsWith(QChar ch, Qt::CaseSensitivity cs) const |
bool | endsWith(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
bool | endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
QChar | first() const |
(since 6.0) QStringView | first(qsizetype n) const |
QChar | front() const |
qsizetype | indexOf(QChar c, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
qsizetype | indexOf(QLatin1StringView l1, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
qsizetype | indexOf(QStringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.1) qsizetype | indexOf(const QRegularExpression &re, qsizetype from = 0, QRegularExpressionMatch *rmatch = nullptr) const |
bool | isEmpty() const |
(since 6.7) bool | isLower() const |
bool | isNull() const |
bool | isRightToLeft() const |
(since 6.7) bool | isUpper() const |
bool | isValidUtf16() const |
QChar | last() const |
(since 6.0) QStringView | last(qsizetype n) const |
(since 6.2) qsizetype | lastIndexOf(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const |
qsizetype | lastIndexOf(QChar c, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
qsizetype | lastIndexOf(QLatin1StringView l1, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
qsizetype | lastIndexOf(QStringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.1) qsizetype | lastIndexOf(const QRegularExpression &re, qsizetype from, QRegularExpressionMatch *rmatch = nullptr) const |
(since 6.3) qsizetype | lastIndexOf(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.2) qsizetype | lastIndexOf(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.2) qsizetype | lastIndexOf(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
qsizetype | length() const |
(since 6.4) int | localeAwareCompare(QStringView other) const |
(since 6.8) qsizetype | max_size() const |
QStringView::const_reverse_iterator | rbegin() const |
QStringView::const_reverse_iterator | rend() const |
qsizetype | size() const |
(since 6.8) QStringView & | slice(qsizetype pos, qsizetype n) |
(since 6.8) QStringView & | slice(qsizetype pos) |
(since 6.0) QStringView | sliced(qsizetype pos, qsizetype n) const |
(since 6.0) QStringView | sliced(qsizetype pos) const |
(since 6.0) QList<QStringView> | split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.0) QList<QStringView> | split(QStringView sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.0) QList<QStringView> | split(const QRegularExpression &re, Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const |
bool | startsWith(QChar ch) const |
bool | startsWith(QChar ch, Qt::CaseSensitivity cs) const |
bool | startsWith(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
bool | startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.0) CFStringRef | toCFString() const |
(since 6.0) double | toDouble(bool *ok = nullptr) const |
(since 6.0) float | toFloat(bool *ok = nullptr) const |
(since 6.0) int | toInt(bool *ok = nullptr, int base = 10) const |
QByteArray | toLatin1() const |
QByteArray | toLocal8Bit() const |
(since 6.0) long | toLong(bool *ok = nullptr, int base = 10) const |
(since 6.0) qlonglong | toLongLong(bool *ok = nullptr, int base = 10) const |
(since 6.0) NSString * | toNSString() const |
(since 6.0) short | toShort(bool *ok = nullptr, int base = 10) const |
QString | toString() const |
(since 6.0) uint | toUInt(bool *ok = nullptr, int base = 10) const |
(since 6.0) ulong | toULong(bool *ok = nullptr, int base = 10) const |
(since 6.0) qulonglong | toULongLong(bool *ok = nullptr, int base = 10) const |
(since 6.0) ushort | toUShort(bool *ok = nullptr, int base = 10) const |
QList<uint> | toUcs4() const |
QByteArray | toUtf8() const |
qsizetype | toWCharArray(wchar_t *array) const |
(since 6.0) auto | tokenize(Needle &&sep, Flags... flags) const |
QStringView | trimmed() const |
void | truncate(qsizetype length) |
const QStringView::storage_type * | utf16() const |
(since 6.7) std::u16string_view | operator std::u16string_view() const |
QChar | operator[](qsizetype n) const |
静的パブリック・メンバー
関連する非メンバー
size_t | qHash(QStringView key, size_t seed = 0) |
bool | operator!=(const QStringView &lhs, const QStringView &rhs) |
bool | operator<(const QStringView &lhs, const QStringView &rhs) |
bool | operator<=(const QStringView &lhs, const QStringView &rhs) |
bool | operator==(const QStringView &lhs, const QStringView &rhs) |
bool | operator>(const QStringView &lhs, const QStringView &rhs) |
bool | operator>=(const QStringView &lhs, const QStringView &rhs) |
詳細説明
QStringViewは、自身が所有していないUTF-16文字列の連続部分を参照します。最初にQString を構築する必要なく、あらゆる種類の UTF-16 文字列へのインターフェース型として機能します。
UTF-16文字列は、QChar 、ushort
、char16_t
、(Windowsなど16ビット型のプラットフォームでは)wchar_t
の配列(またはQString 、std::basic_stringなどの配列互換のデータ構造)として表すことができます。
QStringViewはインターフェース型として設計されており、その主な用途は関数のパラメータ型です。QStringView が自動変数またはデータ・メンバとして使用される場合、文字列ビューが削除されたデータを参照することにならないように、参照される文字列データ(例えば、QString によって所有される)がすべてのコード・パス上で QStringView よりも長くなるように注意する必要があります。
インターフェイス型として使用される場合、QStringViewは1つの関数で多種多様なUTF-16文字列データソースを受け入れることができます。したがって、QStringViewを受け入れる1つの関数は、3つの関数のオーバーロード(QString と(const QChar*, qsizetype)
)を置き換えることができ、同時に、u"Hello World"
、char16_t
文字列リテラルなど、さらに多くの文字列データソースを関数に渡すことができます。
QStringViewは、参照からconstではなく、値で渡されるべきです:
void myfun1(QStringView sv); // preferred void myfun2(const QStringView &sv); // compiles and works, but slower
どのような文字列を関数に渡すかについて、ユーザーに最大限の自由を与えたい場合は、QStringViewのオーバーロードに付随して、以下のオーバーロードを使用します。
- QChar: このオーバーロードは、QStringViewバージョンに委譲することができます:
void fun(QChar ch) { fun(QStringView(&ch, 1)); }
技術的な理由により、QStringViewはQChar コンストラクタを提供できません。
- QString: 文字列の変更されていないコピーを保存し、QString の暗黙の共有を利用したい場合。
- QLatin1StringView QLatin1StringView QLatin1StringView QString QLatin1StringView でオーバーロードされた関数は、意味的に等価な QStringView バージョンの呼び出しよりも、メモリ割り当てが厳密に少なくなることをユーザーは期待しています。
QStringViewは関数の戻り値としても使用できます。QStringViewを返す関数を呼び出す場合は、参照される文字列データを維持するために関数が約束する時間よりも長くQStringViewを維持しないように、特に注意してください。疑わしい場合は、toString ()を呼び出してQStringViewをQString に変換することで、データへの強力な参照を取得します。
QStringViewはリテラル型ですが、char16_t
としてデータを格納するため、繰り返しはconstexpr
(const char16_t*
からconst QChar*
へのキャスト、これはconstexpr
関数では許可されていません)。代わりに、constexpr
コンテキストでインデックス付きループやutf16() を使用することができます。
QStringも参照のこと 。
メンバ型ドキュメント
QStringView::const_iterator
この型定義は,QStringView に対する STL スタイルの const イテレータを提供する.
iterator およびconst_reverse_iterator も参照 .
QStringView::const_pointer
value_type *
のエイリアス.STL との互換性のために提供される.
QStringView::const_reference
value_type &
のエイリアス.STL との互換性のために提供される.
QStringView::const_reverse_iterator
この型定義は,QStringView に対する STL 形式の const 逆イテレータを提供する.
reverse_iterator およびconst_iteratorも参照 .
QStringView::difference_type
std::ptrdiff_t
のエイリアス.STL との互換性のために提供される.
QStringView::iterator
この型定義は,QStringView に対する STL スタイルの const イテレータを提供する.
QStringView は変更可能なイテレータをサポートしないので,これは と同じである.const_iterator
const_iterator およびreverse_iteratorも参照 .
QStringView::pointer
value_type *
のエイリアス.STL との互換性のために提供されています。
QStringView はミュータブルポインタをサポートしていないので、これは と同じです。const_pointer
QStringView::reference
value_type &
のエイリアス.STL との互換性のために提供されます。
QStringView はミュータブル参照をサポートしないので,これは と同じです.const_reference
QStringView::reverse_iterator
この型定義は,QStringView に対する STL スタイルの const 逆イテレータを提供する.
QStringView はミュータブルな逆イテレータをサポートしないので,これは と同じである.const_reverse_iterator
const_reverse_iterator およびiteratorも参照 .
QStringView::size_type
qsizetype のエイリアス。STL との互換性のために用意されています。
QStringView::storage_type
char16_t
のエイリアス。
QStringView::value_type
const QChar
のエイリアス。STL との互換性のために用意されています。
メンバ関数ドキュメント
[since 6.0]
QList<QStringView> QStringView::split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
[since 6.0]
QList<QStringView> QStringView::split(QStringView sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
sep が出現する箇所でビューを部分文字列ビューに分割し、それらの文字列ビューのリストを返す。
sep,behavior,cs がどのように相互作用して結果を形成するかについてはQString::split() を参照。
注意: 返されるビューはすべて、この文字列ビューが参照するデータが有効である限り有効です。データを破棄すると、すべてのビューがダングリングになります。
この関数は Qt 6.0 で導入されました。
template <typename... Args> QString QStringView::arg(Args &&... args) const
この文字列内の%N
をargs の対応する引数で置き換えます。引数は位置ではありません:args の最初の引数は%N
を最も低いN
(すべて) で置き換え、args の 2 番目の引数は%N
を次に低いN
で置き換えるなどです。
Args
は、暗黙のうちに 、 、 に変換するものであれば何でも構わない。QString QStringView QLatin1StringView
さらに、以下の型もサポートされている:QChar QLatin1Char 。
QString::arg()も参照のこと 。
[constexpr noexcept]
int QStringView::compare(QChar ch) const
[noexcept]
int QStringView::compare(QChar ch, Qt::CaseSensitivity cs) const
[noexcept]
int QStringView::compare(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列ビューを Latin-1 文字列ビューl1 、または文字ch と比較します。この文字列ビューがl1 またはch より小さい場合は負の整数を、l1 またはch より大きい場合は正の整数を、等しい場合は 0 を返します。
cs がQt::CaseSensitive (デフォルト)の場合、比較は大文字小文字を区別します。
operator==()、operator<()、operator>()も参照 。
[noexcept]
bool QStringView::startsWith(QChar ch) const
[noexcept]
bool QStringView::startsWith(QChar ch, Qt::CaseSensitivity cs) const
[noexcept]
bool QStringView::startsWith(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
[noexcept]
bool QStringView::startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列ビューが、それぞれstr で表示される UTF-16 文字列、l1 で表示される Latin-1 文字列、またはch で表示される文字で始まる場合はtrue
を返し、そうでない場合はfalse
を返す。
cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字小文字を区別します。
endsWith()も参照 。
[noexcept]
bool QStringView::endsWith(QChar ch) const
[noexcept]
bool QStringView::endsWith(QChar ch, Qt::CaseSensitivity cs) const
[noexcept]
bool QStringView::endsWith(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
[noexcept]
bool QStringView::endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列ビューの末尾が、それぞれstr で表示される UTF-16 文字列、l1 で表示される Latin-1 文字列、または文字ch である場合はtrue
を返し、そうでない場合はfalse
を返す。
cs がQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。
startsWith()も参照 。
[noexcept]
qsizetype QStringView::indexOf(QChar c, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
[noexcept]
qsizetype QStringView::indexOf(QLatin1StringView l1, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
[noexcept]
qsizetype QStringView::indexOf(QStringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列ビューにおいて、インデックス位置from から順に検索して、str が示す UTF-16 文字列、l1 が示す Latin-1 文字列、またはch が示す文字が、それぞれ最初に出現するインデッ クス位置を返す。str 、l1 、ch がそれぞれ見つからなければ -1 を返す。
cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字小文字を区別する。
from が -1 の場合、検索は最後の文字から始まり、-2 の場合、最後から次の文字から始まる。
QString::indexOf()も参照 。
[noexcept]
bool QStringView::contains(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
[noexcept]
bool QStringView::contains(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
[noexcept]
bool QStringView::contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列ビューに、str で表示される UTF-16 文字列、l1 で表示される Latin-1 文字列、または文字ch がそれぞれ含まれている場合、true
を返します。そうでない場合、false
を返します。
cs がQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。
indexOf()も参照 。
[noexcept]
qsizetype QStringView::lastIndexOf(QChar c, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
[noexcept]
qsizetype QStringView::lastIndexOf(QLatin1StringView l1, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
[noexcept]
qsizetype QStringView::lastIndexOf(QStringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列ビューにおいて、str が示す UTF-16 文字列、l1 が示す Latin-1 文字列、またはch が示す文字が、それぞれインデックス位置from から後方に検索して最後に出現するインデックス位置を返す。
from が -1 の場合、検索は最後の文字から始まり、-2 の場合、最後から次の文字から始まる。
str 、l1 、c がそれぞれ見つからなければ -1 を返す。
cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字小文字を区別する。
注意: 長さ0のstr またはl1 を検索する場合、-1
は通常文字列ビューの最後から検索すると考えられているにもかかわらず、負のfrom 、データの最後のマッチは検索から除外されます:最後のマッチは最後の文字の後なので、除外されます。このような最後の空のマッチを含めるには、from に正の値を与えるか、from パラメータを完全に省略します。
QString::lastIndexOf()も参照 。
[noexcept, since 6.2]
qsizetype QStringView::lastIndexOf(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
[noexcept, since 6.2]
qsizetype QStringView::lastIndexOf(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この関数はlastIndexOf() をオーバーロードしたものである。
この文字列ビューの最後の文字からさかのぼって検索し、str で表示される UTF-16 文字列、またはl1 で表示される Latin-1 文字列が、それぞれこの文字列ビュー内で最後に出現するインデックス位置を返す。それぞれstr またはl1 が見つからない場合は -1 を返す。
cs がQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。
この関数は Qt 6.2 で導入されました。
QString::lastIndexOf()も参照してください 。
[constexpr noexcept(...), since 6.0]
template <typename Needle, typename... Flags> auto QStringView::tokenize(Needle &&sep, Flags... flags) const
sep が出現する箇所で文字列を部分文字列ビューに分割し、それらの文字列の遅延シーケンスを返します。
と同等です。
return QStringTokenizer{std::forward<Needle>(sep), flags...};
ただし、コンパイラで C++17 CTAD(Class Template Argument Deduction)が有効になっていなくても動作します。
sep とflags がどのように相互作用して結果を形成するかについては、QStringTokenizer を参照してください。
注: この関数はQStringTokenizer を返しますが、テンプレート引数を明示的に指定することは絶対に避けてください。C++17 クラス テンプレート引数控除(CTAD)を使用できる場合は、次のように記述できます。
QStringTokenizer result = sv.tokenize(sep);
(と書くことができます(テンプレート引数なし)。C++17 CTAD を使用できない場合は、auto
変数にのみ戻り値を格納する必要があります:
auto result = sv.tokenize(sep);
これは、QStringTokenizer のテンプレート引数は、それが返される特定のtokenize() オーバーロードに非常に微妙に依存し、通常はセパレーターに使用される型に対応しないからです。
この関数は Qt 6.0 で導入されました。
注意: この関数は "noexcept(qTokenize(std::declval<const QStringView&>(), std::forward<Needle>(needle), flags...)" が真の場合、例外をスローしません。
QStringTokenizer およびqTokenize()も参照してください 。
[constexpr noexcept]
QStringView::QStringView()
NULL文字列ビューを構築します。
isNull() も参照 。
[constexpr noexcept]
template <typename Char, size_t N> QStringView::QStringView(const Char (&)[N] string)
文字列リテラルstring に対して文字列ビューを構築します。ビューは、最初のChar(0)
が現れるか、N
が現れるか、どちらか先に現れるまで配列をカバーします。配列全体が必要な場合は、代わりにfromArray() を使用します。
string は、この文字列ビューオブジェクトの有効期間中有効でなければなりません。
このコンストラクタは、string が実際の配列であり、Char
が互換性のある文字型である場合にのみ、オーバーロード解決に参加します。互換性のある文字型はQChar
ushort
,char16_t
および(Windowsなど16ビット型のプラットフォームでは)wchar_t
です。
fromArrayも参照してください 。
[constexpr noexcept]
template <typename Char> QStringView::QStringView(const Char *str)
str の文字列ビューを構築する。長さは、最初のChar(0)
をスキャンして決定されます。
str は、この文字列ビューオブジェクトの有効期間中有効でなければなりません。
str としてnullptr
を渡すと安全で、NULL 文字列ビューになります。
このコンストラクタは、str が配列でなく、Char
が互換性のある文字型である場合にのみ、オーバーロードの解決に参加します。互換性のある文字型はQChar
ushort
,char16_t
および(Windowsなど16ビット型のプラットフォームでは)wchar_t
です。
[constexpr noexcept]
template <typename Container, QStringView::if_compatible_container<Container> = true> QStringView::QStringView(const Container &str)
str の文字列ビューを構築する。長さはstd::size(str)
から取得する。
std::data(str)
は、この文字列ビューオブジェクトの有効期間中有効でなければなりません。
このコンストラクタは、Container
がvalue_type
と互換性のある文字型を持つコンテナである場合にのみ、オーバーロード解決に参加します。互換性のある文字型は以下のとおりです:QChar
ushort
,char16_t
および(Windowsなど16ビット型のプラットフォームでは)wchar_t
です。
文字列ビューが空になるのは、std::size(str) == 0
の場合だけである。このコンストラクタがNULLの文字列ビューを生成できるかどうかは未定です(std::data(str)
の場合は、nullptr
を返す必要があります)。
[noexcept]
QStringView::QStringView(const QString &str)
str の文字列ビューを構築します。
str.data()
の文字列ビューを構築します。
文字列ビューが NULL になるのは、str.isNull()
の場合のみです。
[constexpr noexcept]
QStringView::QStringView(std::nullptr_t)
NULL 文字列ビューを構築します。
isNull()も参照してください 。
[constexpr]
template <typename Char, QStringView::if_compatible_char<Char> = true> QStringView::QStringView(const Char *first, const Char *last)
長さ (last -first) のfirst の文字列ビューを構築します。
[first,last)
の範囲は、この文字列ビューオブジェクトの有効期間中有効でなければなりません。
first として\nullptr
を渡しても、last がnullptr
の場合は安全であり、NULL 文字列ビューになります。
last がfirst より前にある場合、またはfirst がnullptr
でlast がそうでない場合の動作は未定義です。
このコンストラクタは、Char
が互換性のある文字型の場合にのみ、オーバーロード解決に参加します。互換性のある文字型は以下のとおりです:QChar
ushort
,char16_t
および(Windowsなど16ビット型のプラットフォームでは)wchar_t
です。
[constexpr]
template <typename Char, QStringView::if_compatible_char<Char> = true> QStringView::QStringView(const Char *str, qsizetype len)
長さlen を持つstr の文字列ビューを構築する。
[str,len)
の範囲は、この文字列ビューオブジェクトの存続期間中有効でなければならない。
str としてnullptr
を渡しても、len が 0 の場合は安全であり、NULL 文字列ビューになります。
len が負の場合、または正の場合、str がnullptr
の場合の動作は未定義です。
このコンストラクタは、Char
が互換性のある文字型の場合にのみ、オーバーロード解決に参加します。互換性のある文字型は以下のとおりです:QChar
ushort
,char16_t
および(Windowsなど16ビット型のプラットフォームでは)wchar_t
です。
[constexpr noexcept]
QChar QStringView::at(qsizetype n) const
この文字列ビューの位置n にある文字を返します。
n が負であるか、size() よりも小さくない場合、動作は未定義である。
operator[]()、front()、back()も参照のこと 。
[constexpr]
QChar QStringView::back() const
文字列ビューの最後の文字を返します。last() と同じ。
この関数は、STL との互換性のために用意されています。
警告: 空の文字列ビューでこの関数を呼び出すと、未定義の動作になります。
front()、first() およびlast()も参照してください 。
[noexcept]
QStringView::const_iterator QStringView::begin() const
文字列ビューの最初の文字を指す constSTL 形式のイテレータを返します。
この関数は STL との互換性のために提供されています。
end()、constBegin()、cbegin()、rbegin()、data()も参照 。
[noexcept]
QStringView::const_iterator QStringView::cbegin() const
begin() と同じ。
この関数は STL との互換性のために用意されています。
cend()、begin()、constBegin()、crbegin()、data()も参照 。
[noexcept]
QStringView::const_iterator QStringView::cend() const
end() と同じ。
この関数は STL との互換性のために用意されています。
cbegin()、end()、constEnd()、crend()も参照 。
[constexpr noexcept]
void QStringView::chop(qsizetype length)
この文字列ビューをlength 文字で切り捨てます。
*this = left(size() - length)
と同じ。
注意: length < 0 またはlength >size() の場合の動作は未定義。
mid()、left()、right()、chopped()、truncate()、slice()も参照 。
[constexpr noexcept]
QStringView QStringView::chopped(qsizetype length) const
このオブジェクトの先頭から始まる、長さsize() -length の部分文字列を返します。
left(size() - length)
と同じ。
注意: length < 0 またはlength >size() の場合の動作は未定義。
mid()、left()、right()、chop()、truncate()、slice()も参照 。
[noexcept]
int QStringView::compare(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列ビューと文字列ビューstr を比較し、この文字列ビューがstr より小さい場合は 負の整数、str より大きい場合は正の整数、等しい場合は 0 を返す。
cs がQt::CaseSensitive (デフォルト)の場合、比較は大文字小文字を区別します。
operator==()、operator<()、operator>()も参照 。
[noexcept, since 6.5]
int QStringView::compare(QUtf8StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列ビューをQUtf8StringView str と比較し、この文字列ビューがstr より小さい場合は 負の整数、str より大きい場合は正の整数、等しい場合は 0 を返す。
cs がQt::CaseSensitive (デフォルト)の場合、比較は大文字小文字を区別します。
この関数は Qt 6.5 で導入されました。
operator==(),operator<(),operator>()も参照してください 。
[noexcept, since 6.1]
QStringView::const_iterator QStringView::constBegin() const
begin() と同じ。
この関数は Qt 6.1 で導入されました。
constEnd()、begin()、cbegin()、crbegin()、data()も参照して ください。
[noexcept, since 6.0]
QStringView::const_pointer QStringView::constData() const
文字列ビューの最初の文字への const ポインタを返します。
注意: 返り値で表される文字配列は、ヌル終端ではありません。
この関数は Qt 6.0 で導入されました。
data(),begin(),end(),utf16()も参照してください 。
[noexcept, since 6.1]
QStringView::const_iterator QStringView::constEnd() const
end() と同じ。
この関数は Qt 6.1 で導入されました。
constBegin()、end()、cend()、crend() も参照 。
[since 6.1]
bool QStringView::contains(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const
正規表現re がこの文字列ビューのどこかにマッチする場合はtrue
を返し、マッチしない場合はfalse
を返します。
マッチが成功し、rmatch がnullptr
でない場合、マッチの結果をrmatch が指すQRegularExpressionMatch オブジェクトに書き込みます。
この関数はQt 6.1で導入されました。
QRegularExpression::match()も参照してください 。
[since 6.1]
qsizetype QStringView::count(const QRegularExpression &re) const
文字列ビューで正規表現re がマッチした回数を返します。
歴史的な理由から、この関数は重複マッチを数えます。この動作は、QRegularExpressionMatchIterator を使って文字列ビューのマッチを単純に反復するのとは異なります。
この関数は Qt 6.1 で導入されました。
QRegularExpression::globalMatch()も参照してください 。
[noexcept, since 6.0]
qsizetype QStringView::count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この関数は count() をオーバーロードします。
文字列ビューにおける文字ch の出現回数を返します。
cs がQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。
この関数は Qt 6.0 で導入されました。
QString::count(),contains(),indexOf()も参照してください 。
[since 6.4]
qsizetype QStringView::count(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この関数は count() をオーバーロードします。
この文字列ビューで、l1 によって表示された Latin-1 文字列の(重複している可能性のある)出現回数を返します。
cs がQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。
この関数は Qt 6.4 で導入されました。
QString::count(),contains(),indexOf()も参照してください 。
[noexcept, since 6.0]
qsizetype QStringView::count(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この関数は count() をオーバーロードします。
この文字列ビューで、文字列ビューstr の(重複している可能性のある)出現回数を返します。
cs がQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。
この関数は Qt 6.0 で導入されました。
QString::count(),contains(),indexOf()も参照してください 。
[noexcept]
QStringView::const_reverse_iterator QStringView::crbegin() const
rbegin() と同じ。
この関数は STL との互換性のために提供されています。
crend()、rbegin()、cbegin()も 参照してください。
[noexcept]
QStringView::const_reverse_iterator QStringView::crend() const
rend() と同じ。
この関数は STL との互換性のために用意されています。
[noexcept]
QStringView::const_pointer QStringView::data() const
文字列ビューの最初の文字への const ポインタを返します。
注意: 戻り値で表される文字配列は、ヌル終端ではありません。
[constexpr noexcept]
bool QStringView::empty() const
この文字列ビューが空かどうか、つまりsize() == 0
かどうかを返します。
この関数は STL との互換性のために提供されています。
isEmpty()、isNull()、size() およびlength()も参照して ください。
[noexcept]
QStringView::const_iterator QStringView::end() const
リストの最後の文字の後の虚数文字を指す constSTL 形式のイテレータを返します。
この関数は STL との互換性のために提供されています。
begin()、constEnd()、cend()、rend()も参照 。
[constexpr]
QChar QStringView::first() const
文字列ビューの最初の文字を返す。front() と同じ。
この関数は、他の Qt コンテナとの互換性のために提供されています。
警告 空の文字列ビューでこの関数を呼び出すと、未定義の動作になります。
front()、back()、last()も参照してください 。
[constexpr noexcept, since 6.0]
QStringView QStringView::first(qsizetype n) const
この文字列ビューの最初のn 文字を指す文字列ビューを返します。
注意: n < 0 またはn >size() の場合、動作は未定義です。
この関数は Qt 6.0 で導入されました。
last(),sliced(),startsWith(),chopped(),chop(),truncate(),slice()も参照してください 。
[static constexpr noexcept]
template <typename Char, size_t Size, QStringView::if_compatible_char<Char> = true> QStringView QStringView::fromArray(const Char (&)[Size] string)
末尾のChar(0)
を含む、完全な文字列リテラルstring に対して文字列ビューを構築します。ヌル・ターミネータをビューに含めたくない場合は、chop() を使用して、ヌル・ターミネータが末尾にあることを確認します。また、コンストラクタのオーバーロードで配列リテラルを使用することもできます。 このオーバーロードは、データ中の最初のヌル終端を含まないまでのビューを作成します。
string は、この文字列ビューオブジェクトの有効期間中有効でなければなりません。
この関数は、Char
が互換性のある文字型であれば、どの配列リテラルでも動作します。互換性のある文字型は以下のとおりです:QChar
ushort
,char16_t
および(Windowsなど16ビット型のプラットフォームでは)wchar_t
です。
[constexpr]
QChar QStringView::front() const
文字列ビューの最初の文字を返す。first() と同じ。
この関数は STL との互換性のために提供されています。
警告: 空の文字列ビューでこの関数を呼び出すと、未定義の動作になります。
back()、first()、およびlast()も参照してください 。
[since 6.1]
qsizetype QStringView::indexOf(const QRegularExpression &re, qsizetype from = 0, QRegularExpressionMatch *rmatch = nullptr) const
インデックス位置from から前方を検索して、文字列ビュー内で最初にマッチした正規表現re のインデックス位置を返します。re がどこにもマッチしなかった場合は -1 を返す。
マッチが成功し、rmatch がnullptr
でない場合は、マッチの結果をrmatch が指すQRegularExpressionMatch オブジェクトにも書き込みます。
注意: 正規表現マッチングアルゴリズムの動作により、この関数は実際には文字列ビューの先頭からfrom の位置に達するまで繰り返しマッチングを行います。
この関数は Qt 6.1 で導入されました。
[constexpr noexcept]
bool QStringView::isEmpty() const
この文字列ビューが空かどうか、つまりsize() == 0
かどうかを返します。
この関数は、他の Qt コンテナとの互換性のために提供されています。
empty(),isNull(),size(),length()も参照してください 。
[noexcept, since 6.7]
bool QStringView::isLower() const
このビューが小文字の折りたたみと同じであればtrue
を返します。
これは、文字列ビューに大文字が含まれていないことを意味するものではないことに注意してください(一部の大文字は小文字の折りたたみを持ちません。toString().toLower() によって変更されません)。詳細については、Unicode 標準の 3.13 節を参照してください。
この関数は Qt 6.7 で導入されました。
QChar::toLower() およびisUpper()も参照してください 。
[constexpr noexcept]
bool QStringView::isNull() const
この文字列ビューが NULL かどうか、つまりdata() == nullptr
かどうかを返します。
この関数は、他の Qt コンテナとの互換性のために提供されています。
empty()、isEmpty()、size()、length()も参照して ください。
[noexcept]
bool QStringView::isRightToLeft() const
文字列ビューが右から左に読み込まれる場合、true
を返します。
QString::isRightToLeft()も参照 。
[noexcept, since 6.7]
bool QStringView::isUpper() const
このビューが大文字の折りたたみと同じ場合はtrue
を返す。
これは、文字列ビューに小文字が含まれていないことを意味するものではないことに注意してください(小文字の中には、大文字の折りたたみを持たないものがあります。toString().toUpper() によって変更されないまま残されます)。詳細については、Unicode 標準の 3.13 節を参照してください。
この関数は Qt 6.7 で導入されました。
QChar::toUpper() およびisLower()も参照してください 。
[noexcept]
bool QStringView::isValidUtf16() const
文字列ビューに有効な UTF-16 エンコード・データが含まれている場合はtrue
を、そうでない場合はfalse
を返します。
この関数はデータの特別な検証を行うわけではなく、単にUTF-16から正常にデコードできるかどうかをチェックするだけであることに注意してください。データはホスト側のバイトオーダーであると仮定される。
QString::isValidUtf16()も参照 。
[constexpr]
QChar QStringView::last() const
文字列ビューの最後の文字を返します。back() と同じ。
この関数は、他の Qt コンテナとの互換性のために用意されています。
警告 空の文字列ビューでこの関数を呼び出すと、未定義の動作になります。
back()、front()、first()も参照してください 。
[constexpr noexcept, since 6.0]
QStringView QStringView::last(qsizetype n) const
この文字列ビューの最後のn 文字を指す文字列ビューを返します。
注意: n < 0 またはn >size() の場合、動作は未定義です。
この関数は Qt 6.0 で導入されました。
first(),sliced(),endsWith(),chopped(),chop(),truncate(),slice()も参照してください 。
[since 6.2]
qsizetype QStringView::lastIndexOf(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const
文字列ビューで、最後にマッチした正規表現re のインデックス位置を返します。re がどこにもマッチしなかった場合は -1 を返す。
マッチが成功し、rmatch がnullptr
でない場合は、マッチの結果をrmatch が指すQRegularExpressionMatch オブジェクトにも書き込みます。
注意: 正規表現マッチング・アルゴリズムの動作により、この関数は実際には文字列ビューの先頭から文字列ビューの最後に達するまで繰り返しマッチングを行います。
この関数は Qt 6.2 で導入されました。
[since 6.1]
qsizetype QStringView::lastIndexOf(const QRegularExpression &re, qsizetype from, QRegularExpressionMatch *rmatch = nullptr) const
文字列ビューで、インデックス位置from よりも前に始まる、正規表現re の最後のマッチのインデックス位置を返します。
from が -1 の場合、検索は最後の文字から始まり、-2 の場合、次の文字から始まります。
re がどこにもマッチしなかった場合は -1 を返す。
マッチが成功し、rmatch がnullptr
でない場合、マッチの結果をrmatch が指すQRegularExpressionMatch オブジェクトにも書き込みます。
注意 : 正規表現マッチング・アルゴリズムの動作により、この関数は実際には文字列ビューの先頭からfrom の位置に達するまで繰り返しマッチングを行います。
注意 : 0文字にマッチする可能性のある正規表現re を検索する場合、-1
は通常、文字列ビューの最後から検索すると考えられているにもかかわらず、from を否定することで、データの最後にあるマッチは検索から除外されます: 最後のマッチは最後の文字の後なので、除外されます。このような最後の空のマッチを含めるには、from に正の値を与えるか、from パラメータを完全に省略します。
この関数は Qt 6.1 で導入されました。
[noexcept, since 6.3]
qsizetype QStringView::lastIndexOf(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この関数は lastIndexOf() をオーバーロードします。
この関数は Qt 6.3 で導入されました。
[constexpr noexcept]
qsizetype QStringView::length() const
size() と同じです。
この関数は、他の Qt コンテナとの互換性のために提供されています。
empty(),isEmpty(),isNull(),size()も参照してください 。
[since 6.4]
int QStringView::localeAwareCompare(QStringView other) const
この文字列ビューとother 文字列ビューを比較し、この文字列ビューがother 文字列ビューより小さい、等しい、または大きい場合に、ゼロより小さい、等しい、または大きい整数を返します。
比較はロケールやプラットフォームに依存した方法で行われる。この関数は、文字列のソートされたリストをユーザーに表示するために使用します。
この関数は Qt 6.4 で導入されました。
Comparing Stringsも参照して ください。
[static constexpr noexcept, since 6.8]
qsizetype QStringView::maxSize()
この関数は、ビューが理論的に表現できる要素の最大数を返します。実際には、システムで利用可能なメモリ量によって制限されるため、もっと少ない数になることがあります。
この関数は Qt 6.8 で導入されました。
[constexpr noexcept, since 6.8]
qsizetype QStringView::max_size() const
この関数はSTLとの互換性のために提供されています。
maxSize() を返します。
この関数は Qt 6.8 で導入されました。
[noexcept]
QStringView::const_reverse_iterator QStringView::rbegin() const
文字列ビューの最初の文字を逆順で指す constSTL スタイルの逆イテレータを返します。
この関数は STL との互換性のために提供されています。
rend(),crbegin(),begin()も参照してください 。
[noexcept]
QStringView::const_reverse_iterator QStringView::rend() const
STL 形式の逆方向イテレータを、文字列ビューの最後の文字から逆順に 1 つ前の文字を指して返します。
この関数は STL との互換性のために提供されています。
[constexpr noexcept]
qsizetype QStringView::size() const
QStringこの文字列ビューのサイズを、UTF-16 コード単位で返します(つまり、サロゲートペアは、この関数では 2 つとしてカウントされます。)
empty()、isEmpty()、isNull()、length()も参照 。
[constexpr, since 6.8]
QStringView &QStringView::slice(qsizetype pos, qsizetype n)
n この文字列ビューをpos の位置から開始するように変更する。
注意: pos < 0、n < 0、またはpos +n >size() の場合の動作は未定義です。
この関数は Qt 6.8 で導入されました。
sliced(),first(),last(),chopped(),chop(),truncate()も参照してください 。
[constexpr, since 6.8]
QStringView &QStringView::slice(qsizetype pos)
これはオーバーロードされた関数です。
この文字列ビューをpos の位置から開始し、その終端まで拡張するように変更します。
注意: pos < 0 またはpos >size() の場合の動作は未定義です。
この関数は Qt 6.8 で導入されました。
sliced(),first(),last(),chopped(),chop(),truncate()も参照してください 。
[constexpr noexcept, since 6.0]
QStringView QStringView::sliced(qsizetype pos, qsizetype n) const
この文字列ビューのpos の位置から始まるn 文字を指す文字列ビューを返します。
注: pos < 0,n < 0, またはpos +n >size() の場合、動作は未定義です。
この関数は Qt 6.0 で導入されました。
first(),last(),chopped(),chop(),truncate(),slice()も参照してください 。
[constexpr noexcept, since 6.0]
QStringView QStringView::sliced(qsizetype pos) const
これはオーバーロードされた関数です。
このオブジェクトの位置pos を始点とし、その終点までの文字列ビューを返します。
注: pos < 0 またはpos >size() の場合の動作は未定義です。
この関数は Qt 6.0 で導入されました。
first(),last(),chopped(),chop(),truncate(),slice()も参照してください 。
[since 6.0]
QList<QStringView> QStringView::split(const QRegularExpression &re, Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const
これはオーバーロードされた関数です。
正規表現re にマッチする箇所で文字列を部分文字列ビューに分割し、それらの文字列のリストを返します。re が文字列のどこにもマッチしない場合、 split() はこの文字列をビューとして含む単一要素のリストを返します。
注意: 返されるリスト内のビューは、このビューのサブビューです。そのため、このビューと同じデータを参照し、そのデータが生きている間のみ有効です。
この関数は Qt 6.0 で導入されました。
[since 6.0]
CFStringRef QStringView::toCFString() const
このQStringView から CFString を作成します。
呼び出し元は CFString を所有し、それを解放する責任があります。
注意: この関数は macOS と iOS でのみ使用可能です。
この関数は Qt 6.0 で導入されました。
[since 6.0]
double QStringView::toDouble(bool *ok = nullptr) const
double
値に変換された文字列ビューを返します。
変換がオーバーフローした場合は無限大を返し、その他の理由(アンダーフローなど)で変換に失敗した場合は0.0を返します。
ok がnullptr
でない場合、失敗は *ok をfalse
に設定することで報告され、成功は *ok をtrue
に設定することで報告される。
文字列変換は常に'C'ロケールで行われる。ロケールに依存する変換には、QLocale::toDouble() を使用する。
歴史的な理由により、この関数は数千のグループ区切り文字を扱わない。そのような数値を変換する必要がある場合は、QLocale::toDouble() を使用してください。
この関数は Qt 6.0 で導入されました。
QString::toDouble()も参照してください 。
[since 6.0]
float QStringView::toFloat(bool *ok = nullptr) const
float
値に変換された文字列ビューを返します。
変換がオーバーフローした場合は無限大を返し、その他の理由(アンダーフローなど)で変換に失敗した場合は0.0を返します。
ok がnullptr
でない場合、失敗は *ok をfalse
に設定することで報告され、成功は *ok をtrue
に設定することで報告される。
文字列変換は常に'C'ロケールで行われる。ロケールに依存した変換にはQLocale::toFloat() を使用してください。
この関数は Qt 6.0 で導入されました。
QString::toFloat()も参照のこと 。
[since 6.0]
int QStringView::toInt(bool *ok = nullptr, int base = 10) const
ベースbase を使用してint
に変換された文字列ビューを返します。ベース はデフォルトで 10 であり、2 から 36 の間でなければなりません。
ok がnullptr
でない場合、失敗は *ok をfalse
に設定することで報告され、成功は *ok をtrue
に設定することで報告される。
base 文字列ビューが "0x "で始まる場合、16進数が使用され、そうでない場合、"0 "で始ま る場合、8進数が使用され、そうでない場合、10進数が使用される。
文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換にはQLocale::toInt() を使用してください。
この関数は Qt 6.0 で導入されました。
QString::toInt()も参照してください 。
QByteArray QStringView::toLatin1() const
文字列の Latin-1 表現をQByteArray として返します。
文字列に非 Latin1 文字が含まれている場合の動作は未定義です。
toUtf8()、toLocal8Bit()、QStringEncoderも参照して ください。
QByteArray QStringView::toLocal8Bit() const
文字列のローカル8ビット表現をQByteArray として返す。
Unixシステムでは、これはtoUtf8() と等価である。Windowsでは、システムの現在のコード・ページが使用される。
文字列がロケールの8ビットエンコーディングでサポートされていない文字を含んでいる場合の動作は未定義である。
toLatin1()、toUtf8()、QStringEncoderも参照 。
[since 6.0]
long QStringView::toLong(bool *ok = nullptr, int base = 10) const
base を基数としてlong
に変換された文字列ビューを返します。 はデフォルトで 10 であり、2 から 36 の間でなければなりません。
ok がnullptr
でない場合、失敗は *ok をfalse
に設定することで報告され、成功は *ok をtrue
に設定することで報告される。
base 文字列ビューが "0x "で始まる場合、16進数が使用され、そうでない場合、"0 "で始ま る場合、8進数が使用され、そうでない場合、10進数が使用される。
文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換にはQLocale::toLong() を使用してください。
この関数は Qt 6.0 で導入されました。
QString::toLong()も参照してください 。
[since 6.0]
qlonglong QStringView::toLongLong(bool *ok = nullptr, int base = 10) const
long long
baseデフォルトでは 10 であり、2 から 36 の間でなければなりません。変換に失敗した場合は 0 を返します。
ok がnullptr
でない場合、失敗は *ok をfalse
に設定することで報告され、成功は *ok をtrue
に設定することで報告される。
base 文字列ビューが "0x "で始まる場合、16進数が使用され、そうでない場合、"0 "で始ま る場合、8進数が使用され、そうでない場合、10進数が使用される。
文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換にはQLocale::toLongLong() を使用してください。
この関数は Qt 6.0 で導入されました。
QString::toLongLong()も参照してください 。
[since 6.0]
NSString *QStringView::toNSString() const
このQStringView から NSString を作成します。
NSString は自動的に解放されます。
注意: この関数は macOS と iOS でのみ利用可能です。
この関数は Qt 6.0 で導入されました。
[since 6.0]
short QStringView::toShort(bool *ok = nullptr, int base = 10) const
ベースbase を使用してshort
に変換された文字列ビューを返します。ベース はデフォルトで 10 で、2 から 36 の間でなければなりません。
ok がnullptr
でない場合、失敗は *ok をfalse
に設定することで報告され、成功は *ok をtrue
に設定することで報告される。
base 文字列ビューが "0x "で始まる場合、16進数が使用され、そうでない場合、"0 "で始ま る場合、8進数が使用され、そうでない場合、10進数が使用される。
文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換にはQLocale::toShort() を使用してください。
この関数は Qt 6.0 で導入されました。
QString::toShort()も参照してください 。
QString QStringView::toString() const
この文字列ビューのデータのディープコピーをQString として返します。
戻り値は、この文字列ビューが NULL の場合のみ、NULLQString になります。
[since 6.0]
uint QStringView::toUInt(bool *ok = nullptr, int base = 10) const
base を基数としてunsigned int
に変換した文字列ビューを返します。 はデフォルトで 10 であり、2 から 36 の間でなければなりません。
ok がnullptr
でない場合、失敗は *ok をfalse
に設定することで報告され、成功は *ok をtrue
に設定することで報告される。
base 文字列ビューが "0x "で始まる場合、16進数が使用され、"0 "で始まる場合、 8進数が使用され、"0 "で始まる場合、10進数が使用される。
文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換にはQLocale::toUInt() を使用してください。
この関数は Qt 6.0 で導入されました。
QString::toUInt()も参照してください 。
[since 6.0]
ulong QStringView::toULong(bool *ok = nullptr, int base = 10) const
unsigned long
baseデフォルトでは 10 であり、2 から 36 の間でなければなりません。変換に失敗した場合は 0 を返します。
ok がnullptr
でない場合、失敗は *ok をfalse
に設定することで報告され、成功は *ok をtrue
に設定することで報告される。
base 文字列ビューが "0x "で始まる場合、16進数が使用され、"0 "で始まる場合、 8進数が使用され、"0 "で始まる場合、10進数が使用される。
文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換にはQLocale::toULongLong() を使用してください。
この関数は Qt 6.0 で導入されました。
QString::toULong()も参照してください 。
[since 6.0]
qulonglong QStringView::toULongLong(bool *ok = nullptr, int base = 10) const
unsigned long long
baseデフォルトでは 10 であり、2 から 36 の間でなければなりません。変換に失敗した場合は 0 を返します。
ok がnullptr
でない場合、失敗は *ok をfalse
に設定することで報告され、成功は *ok をtrue
に設定することで報告される。
base 文字列ビューが "0x "で始まる場合、16進数が使用され、"0 "で始まる場合、 8進数が使用され、"0 "で始まる場合、10進数が使用される。
文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換にはQLocale::toULongLong() を使用してください。
この関数は Qt 6.0 で導入されました。
QString::toULongLong()も参照してください 。
[since 6.0]
ushort QStringView::toUShort(bool *ok = nullptr, int base = 10) const
unsigned short
baseデフォルトでは 10 であり、2 から 36 の間でなければなりません。変換に失敗した場合は 0 を返します。
ok がnullptr
でない場合、失敗は *ok をfalse
に設定することで報告され、成功は *ok をtrue
に設定することで報告される。
base 文字列ビューが "0x "で始まる場合、16進数が使用され、"0 "で始まる場合、 8進数が使用され、"0 "で始まる場合、10進数が使用される。
文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換にはQLocale::toUShort() を使用してください。
この関数は Qt 6.0 で導入されました。
QString::toUShort()も参照してください 。
QList<uint> QStringView::toUcs4() const
文字列ビューの UCS-4/UTF-32 表現をQList<uint> として返します。
UCS-4はUnicodeコーデックなので、ロスレスです。この文字列ビューの文字はすべてUCS-4でエンコードされます。この文字列ビュー内の無効なコードユニット列は、Unicode 置換文字 (U+FFFD
に対応するQChar::ReplacementCharacter) で置き換えられます。
返されるリストは0終端ではありません。
toUtf8()、toLatin1()、toLocal8Bit()、QStringEncoderも参照 。
QByteArray QStringView::toUtf8() const
文字列ビューの UTF-8 表現をQByteArray として返します。
UTF-8 は Unicode コーデックで、QString のように Unicode 文字列のすべての文字を表現できます。
toLatin1()、toLocal8Bit()、QStringEncoderも参照してください 。
qsizetype QStringView::toWCharArray(wchar_t *array) const
この文字列ビューを、与えられたarray に転記します。
呼び出し元は、array がこの文字列ビューのwchar_t
エンコードを保持するのに十分な大きさであることを保証する責任があります(文字列ビューと同じ長さの配列を確保すれば常に十分です)。配列は、wchar_t
が2バイト幅のプラットフォーム(Windowsなど)ではUTF-16でエンコードされる。そうでない場合(Unixシステム)、wchar_t
は4バイト幅と仮定され、データはUCS-4で書き込まれる。
注意: この関数は、array の末尾にヌル・ターミネータを書き込まない。
array に書き込まれたwchar_t
エントリの数を返す。
QString::toWCharArray()も参照のこと 。
[noexcept]
QStringView QStringView::trimmed() const
先頭および末尾の空白を除去し、その結果を返す。
空白文字とは、QChar::isSpace() がtrue
を返すすべての文字を意味する。これには、ASCII 文字 ' \t'、'˶n'、'˶v'、'˶f'、'˶r'、および ' が含まれます。
[constexpr noexcept]
void QStringView::truncate(qsizetype length)
この文字列ビューを長さlength に切り詰めます。
*this = left(length)
と同じです。
注意: length < 0 またはlength >size() の場合の動作は未定義です。
mid()、left()、right()、chopped()、chop()も参照のこと 。
[constexpr noexcept]
const QStringView::storage_type *QStringView::utf16() const
文字列ビューの最初の文字への const ポインタを返します。
注意: 返り値で表される文字配列は、ヌル終端ではありません。
storage_type
は である。char16_t
[noexcept, since 6.7]
std::u16string_view QStringView::operator std::u16string_view() const
このQStringView オブジェクトをstd::u16string_view
オブジェクトに変換します。返されるビューは、このビューと同じデータポインタと長さを持ちます。
この関数は Qt 6.7 で導入されました。
[constexpr]
QChar QStringView::operator[](qsizetype n) const
この文字列ビューの位置n にある文字を返します。
n が負またはsize() より小さくない場合、動作は未定義です。
関連する非メンバー
[noexcept]
bool operator!=(const QStringView &lhs, const QStringView &rhs)
[noexcept]
bool operator<(const QStringView &lhs, const QStringView &rhs)
[noexcept]
bool operator<=(const QStringView &lhs, const QStringView &rhs)
[noexcept]
bool operator==(const QStringView &lhs, const QStringView &rhs)
[noexcept]
bool operator>(const QStringView &lhs, const QStringView &rhs)
[noexcept]
bool operator>=(const QStringView &lhs, const QStringView &rhs)
lhs とrhs を比較する演算子。
compare()も参照 。
[noexcept]
size_t qHash(QStringView key, size_t seed = 0)
key のハッシュ値を返します。計算のシードとしてseed を使用します。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。