QStringRef Class
QStringRef クラスは、QString のサブストリングをラップするシンプルなラッパーを提供します。詳細...
| ヘッダー: | #include <QStringRef> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core5Compat) target_link_libraries(mytarget PRIVATE Qt6::Core5Compat) |
| qmake: | QT += core5compat |
- 継承されたメンバーを含む、すべてのメンバーの一覧
- QStringRef は、文字列データ用のクラス群の一部です。
注:このクラスのすべての関数は再入可能です。
パブリック型
パブリック関数
| QStringRef() | |
| QStringRef(const QString *string) | |
| QStringRef(const QString *string, qsizetype position, qsizetype length) | |
| QStringRef(const QStringRef &other) | |
| ~QStringRef() | |
| QStringRef | appendTo(QString *string) const |
| const QChar | at(int position) const |
| QChar | back() const |
| QStringRef::const_iterator | begin() const |
| QStringRef::const_iterator | cbegin() const |
| QStringRef::const_iterator | cend() const |
| void | chop(int n) |
| QStringRef | chopped(int len) const |
| void | clear() |
| int | compare(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | compare(QLatin1String other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | compare(const QByteArray &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | compare(const QString &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | compare(const QStringRef &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QStringRef::const_iterator | constBegin() const |
| const QChar * | constData() const |
| QStringRef::const_iterator | constEnd() const |
| bool | contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | contains(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | contains(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | count() const |
| int | count(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | count(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QStringRef::const_reverse_iterator | crbegin() const |
| QStringRef::const_reverse_iterator | crend() const |
| const QChar * | data() const |
| QStringRef::const_iterator | end() const |
| bool | endsWith(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | endsWith(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | endsWith(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | endsWith(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QChar | front() const |
| int | indexOf(QLatin1String str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | indexOf(const QString &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | indexOf(QChar ch, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | indexOf(QStringView str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | indexOf(const QStringRef &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | isEmpty() const |
| bool | isNull() const |
| bool | isRightToLeft() const |
| int | lastIndexOf(const QString &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | lastIndexOf(QChar ch, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | lastIndexOf(QLatin1String str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | lastIndexOf(QStringView str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | lastIndexOf(const QStringRef &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QStringRef | left(int n) const |
| int | length() const |
| int | localeAwareCompare(const QString &other) const |
| int | localeAwareCompare(const QStringRef &other) const |
| QStringRef | mid(int position, int n = -1) const |
| int | position() const |
| QStringRef::const_reverse_iterator | rbegin() const |
| QStringRef::const_reverse_iterator | rend() const |
| QStringRef | right(int n) const |
| int | size() const |
| QList<QStringRef> | split(const QString &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QList<QStringRef> | split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | startsWith(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | startsWith(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | startsWith(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | startsWith(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| const QString * | string() const |
| double | toDouble(bool *ok = nullptr) const |
| float | toFloat(bool *ok = nullptr) const |
| int | toInt(bool *ok = nullptr, int base = 10) const |
| QByteArray | toLatin1() const |
| QByteArray | toLocal8Bit() const |
| long | toLong(bool *ok = nullptr, int base = 10) const |
| qlonglong | toLongLong(bool *ok = nullptr, int base = 10) const |
| short | toShort(bool *ok = nullptr, int base = 10) const |
| QString | toString() const |
| uint | toUInt(bool *ok = nullptr, int base = 10) const |
| ulong | toULong(bool *ok = nullptr, int base = 10) const |
| qulonglong | toULongLong(bool *ok = nullptr, int base = 10) const |
| ushort | toUShort(bool *ok = nullptr, int base = 10) const |
| QList<uint> | toUcs4() const |
| QByteArray | toUtf8() const |
| QStringRef | trimmed() const |
| void | truncate(int position) |
| const QChar * | unicode() const |
| bool | operator!=(const char *s) const |
| bool | operator<(const char *s) const |
| bool | operator<=(const char *s) const |
| QStringRef & | operator=(const QString *string) |
| QStringRef & | operator=(const QStringRef &other) |
| bool | operator==(const char *s) const |
| bool | operator>(const char *s) const |
| bool | operator>=(const char *s) const |
| QChar | operator[](int position) const |
静的パブリックメンバー
| int | compare(const QStringRef &s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| int | compare(const QStringRef &s1, QLatin1String s2, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| int | compare(const QStringRef &s1, const QStringRef &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| int | localeAwareCompare(const QStringRef &s1, const QString &s2) |
| int | localeAwareCompare(const QStringRef &s1, const QStringRef &s2) |
関連する非メンバー
| bool | operator<(const QStringRef &s1, const QStringRef &s2) |
| bool | operator<=(const QStringRef &s1, const QStringRef &s2) |
| bool | operator==(QLatin1String s1, const QStringRef &s2) |
| bool | operator==(const QString &s1, const QStringRef &s2) |
| bool | operator==(const QStringRef &s1, const QStringRef &s2) |
| bool | operator>(const QStringRef &s1, const QStringRef &s2) |
| bool | operator>=(const QStringRef &s1, const QStringRef &s2) |
詳細な説明
QStringRefは、QString APIの読み取り専用サブセットを提供します。
文字列参照は、指定されたsize() を持つstring() の一部を、特定のposition() から開始して明示的に参照します。toString() を呼び出すと、データのコピーが実際のQString インスタンスとして返されます。
このクラスは、既存のQString インスタンスから取得した部分文字列を操作する際のパフォーマンスを向上させるために設計されています。 QStringRefは、元の文字列の一部を単に参照することで、標準のQString に伴うメモリ割り当てや参照カウントのオーバーヘッドを回避します。これは、パーサーなどで使用されるような低レベルなコードにおいて有利に働く可能性がありますが、その代償としてコードがより複雑になる可能性があります。
QStringRefではメモリ管理に注意を払う必要があり、コードの記述や保守が複雑になる可能性があるため、ほとんどのユーザーにとって、QString の代わりにQStringRefを使用することによる意味的な利点はありません。
警告: QStringRefは、 参照先の文字列が存在する間のみ有効です。元の文字列が削除されると、その文字列参照は無効なメモリ位置を指すことになります。
このクラスは、プロファイリングによって、標準的な文字列操作をこのクラスが提供する最適化された部分文字列処理に置き換えることでパフォーマンスの向上が明確に確認された、安定したコードでのみ使用することをお勧めします。
セキュリティに関する考慮事項
このクラスは、int を使用してsize()およびposition()を格納します。その結果、INT_MAX より長い文字列の一部、またはそれより大きいオフセットから始まる文字列の一部を表現することはできません。そのような部分に参照しようとすると、未定義の挙動となります。 なお、明示的なサイズが渡されていない場合でも、QString のサイズがINT_MAX を超える場合、QString からのQStringRefの生成も影響を受けることに注意してください。
代わりにQStringView を使用してください。その所有権モデルは QStringRef よりも緩いことに留意してください。詳細については、移植ガイドを参照してください。
「暗黙的に共有されるクラス」も参照してください 。
メンバ型のドキュメント
QStringRef::const_iterator
QStringRef::const_reverse_iteratorも参照してください 。
QStringRef::const_reverse_iterator
QStringRef::const_iteratorも参照してください 。
メンバー関数のドキュメント
[constexpr noexcept] QStringRef::QStringRef()
空の文字列参照を作成します。
QStringRef::QStringRef(const QString *string)
指定されたstring への文字列参照を作成します。
警告: QStringRef は 、そのsize() を表すためにint (32 ビット) を使用します。Qt 6 では、QString のサイズはqsizetype として表され、64 ビットビルドでは 64 ビットになります。入力のサイズが 32 ビットに収まることを確認してください。そうでない場合、the behavior is undefined となります。
QStringRef::QStringRef(const QString *string, qsizetype position, qsizetype length)
指定されたstring 内の、開始位置position およびlength で指定された文字範囲に対する文字列参照を構築します。
警告: この関数は パフォーマンスを可能な限り向上させるために存在しており、境界チェックは一切行いません。プログラムの正しさを確保するためには、position およびlength がstring の有効な部分文字列を表し、かつint で表現可能でなければなりません。
つまり、開始位置position は正または 0 で、かつstring の長さより小さくなければならず、またlength は正または 0 で、かつ文字列の長さから開始位置position を引いた値より小さくなければなりません。すなわち、0 <= position < string->length() および 0 <= length <= string->length() - position の両方が満たされる必要があります。
警告: Qt 6.12以降、 このコンストラクタは `int` の代わりに `qsizetype `、`position `、および `length ` を受け取ります。これにより、呼び出し側でのサイレントな型狭窄が防止されます。ただし、`int ` で表現できない値を渡した場合でも、結果は `undefined behavior` となります。
[implicit] QStringRef::QStringRef(const QStringRef &other)
other 文字列リファレンスのコピーを作成します。
[noexcept implicit] QStringRef::~QStringRef()
文字列への参照を破棄します。
このクラスは文字列データを参照するためにのみ使用され、その所有権を取得しないため、インスタンスが破棄されてもメモリは解放されません。
QStringRef QStringRef::appendTo(QString *string) const
文字列参照を `string` に追加し、結合された文字列データへの新しい参照を返します。
const QChar QStringRef::at(int position) const
文字列参照内の指定されたインデックスposition にある文字を返します。
position は、文字列内の有効なインデックス位置でなければなりません(つまり、0 <=position <size())。
QChar QStringRef::back() const
文字列の最後の文字を返します。at(size() - 1) と同じです。
この関数は、STLとの互換性を確保するために提供されています。
警告: 空の文字列に対してこの関数を呼び出すと 、未定義の挙動となります。
関連項目: front()、at()、およびoperator[]()。
QStringRef::const_iterator QStringRef::begin() const
文字列の先頭文字を指す、STL スタイルのconstイテレータを返します。
cbegin()、constBegin()、end()、constEnd()、rbegin()、およびrend()も参照してください 。
QStringRef::const_iterator QStringRef::cbegin() const
begin() と同様です。
begin()、constBegin()、cend()、constEnd()、rbegin()、およびrend()も参照してください 。
QStringRef::const_iterator QStringRef::cend() const
end() と同様です。
end()、constEnd()、cbegin()、constBegin()、rbegin()、およびrend()も参照してください 。
[noexcept] void QStringRef::chop(int n)
文字列の末尾からn 文字を削除します。
n がsize()以上の場合、結果は空文字列になります。n が負の場合、0を指定した場合と同じ結果になります。
QString::chop() およびtruncate()も参照してください 。
QStringRef QStringRef::chopped(int len) const
この文字列のsize() -len の左端にある文字への部分文字列参照を返します。
注: len が負の数、またはsize()より大きい場合、動作は 未定義となります。
関連項目: endsWith()、left()、right()、mid()、chop()、およびtruncate()を参照してください 。
void QStringRef::clear()
文字列参照の内容を、nullかつ空にすることでクリアします。
isEmpty() およびisNull()も参照してください 。
[static noexcept] int QStringRef::compare(const QStringRef &s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
s1 とs2 を比較し、s1 がs2 より小さい場合は負の整数を、 がs2 より大きい場合は正の整数を、両者が等しい場合は 0 を返します。
cs がQt::CaseSensitive である場合、比較は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
[noexcept] int QStringRef::compare(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
*this とch を比較し、*this がch より小さい場合は負の整数を、ch より大きい場合は正の整数を、等しい場合は 0 を返します。ここで、ch は長さ 1 の文字列として解釈されます。
cs がQt::CaseSensitive の場合、比較は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
これはオーバーロードされた関数です。
[noexcept] int QStringRef::compare(QLatin1String other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
*this とother を比較し、*this がother より小さい場合は負の整数を、 がother より大きい場合は正の整数を、両者が等しい場合は 0 を返します。
cs がQt::CaseSensitive の場合、比較は大文字と小文字を区別します。それ以外の場合は、比較は大文字と小文字を区別しません。
compare(*this, other, cs) と同等です。
これはオーバーロードされた関数です。
[noexcept] int QStringRef::compare(const QByteArray &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
*this とother を比較し、*this がother より小さい場合は負の整数を、 がother より大きい場合は正の整数を、両者が等しい場合は 0 を返します。other の内容は UTF-8 として解釈されます。
cs がQt::CaseSensitive の場合、比較は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
compare(*this, other, cs) と同等です。
これはオーバーロードされた関数です。
[noexcept] int QStringRef::compare(const QString &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
*this とother を比較し、*this がother より小さい場合は負の整数を、 がother より大きい場合は正の整数を、両者が等しい場合は 0 を返します。
cs がQt::CaseSensitive の場合、比較は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
compare(*this, other, cs) と同等です。
これはオーバーロードされた関数です。
[noexcept] int QStringRef::compare(const QStringRef &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
*this とother を比較し、*this がother より小さい場合は負の整数を、 がother より大きい場合は正の整数を、両者が等しい場合は 0 を返します。
cs がQt::CaseSensitive の場合、比較は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
compare(*this, other, cs) と同等です。
これはオーバーロードされた関数です。
[static noexcept] int QStringRef::compare(const QStringRef &s1, QLatin1String s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
s1 とs2 を比較し、s1 がs2 より小さい場合は負の整数を、s2 より大きい場合は正の整数を、等しい場合は 0 を返します。
cs がQt::CaseSensitive の場合、比較は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
これはオーバーロードされた関数です。
[static noexcept] int QStringRef::compare(const QStringRef &s1, const QStringRef &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
s1 とs2 を比較し、s1 がs2 より小さい場合は負の整数を、 がs2 より大きい場合は正の整数を、両者が等しい場合は 0 を返します。
cs がQt::CaseSensitive の場合、比較は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
これはオーバーロードされた関数です。
QStringRef::const_iterator QStringRef::constBegin() const
begin() と同様です。
begin()、cend()、constEnd()、rbegin() およびrend()も参照してください 。
const QChar *QStringRef::constData() const
unicode() と同じです。
QStringRef::const_iterator QStringRef::constEnd() const
end() と同様です。
end()、cend()、cbegin()、constBegin()、rbegin()、およびrend()も参照してください 。
bool QStringRef::contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列参照に「str 」という文字列が含まれている場合は「true 」を返し、含まれていない場合は「false 」を返します。
cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
indexOf() およびcount()も参照してください 。
bool QStringRef::contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列に「ch 」という文字が含まれている場合は `true ` を返し、そうでない場合は `false` を返します。
cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
この関数は、QStringRef::contains() をオーバーロードしています。
bool QStringRef::contains(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列参照に「str 」という文字列が含まれている場合は「true 」を返し、そうでない場合は「false 」を返します。
cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
この関数は、QStringRef::contains() をオーバーロードしています。
indexOf() およびcount()も参照してください 。
[noexcept] bool QStringRef::contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列参照に「str 」という文字列が含まれている場合は「true 」を返し、そうでない場合は「false 」を返します。
cs がQt::CaseSensitive (デフォルト) の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
この関数は、QStringRef::contains() をオーバーロードしています。
indexOf() およびcount()も参照してください 。
bool QStringRef::contains(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列参照に文字列参照 `str` が含まれている場合は `true ` を返し、そうでない場合は `false` を返します。
cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
この関数は、QStringRef::contains() をオーバーロードしています。
indexOf() およびcount()も参照してください 。
int QStringRef::count() const
文字列参照が指す文字数を返します。size() およびlength() と同等です。
position() およびstring()も参照してください 。
int QStringRef::count(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列参照内で、文字列「str 」が(重複している可能性を含めて)何回出現するかを返します。
cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
QString::count()、contains()、およびindexOf()も参照してください 。
int QStringRef::count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
文字列リファレンス内で「ch 」という文字列が何回出現するかを返します。
cs が `Qt::CaseSensitive `(デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
この関数はQStringRef::count() をオーバーロードしています。
QString::count()、contains()、およびindexOf()も参照してください 。
int QStringRef::count(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列参照内で、文字列参照str が(重複している可能性のある)出現回数を返します。
cs が `Qt::CaseSensitive `(デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
この関数は、QStringRef::count() をオーバーロードします。
QString::count()、contains()、およびindexOf()も参照してください 。
QStringRef::const_reverse_iterator QStringRef::crbegin() const
rbegin() と同様です。
begin()、rbegin()、およびrend()も参照してください 。
QStringRef::const_reverse_iterator QStringRef::crend() const
rend() と同様です。
end()、rend()、およびrbegin()も参照してください 。
const QChar *QStringRef::data() const
unicode() と同じです。
QStringRef::const_iterator QStringRef::end() const
リストの最後の文字の直後に位置する仮想の文字を指す、STL スタイルのconstイテレータを返します。
cbegin()、constBegin()、end()、constEnd()、rbegin()、およびrend()も参照してください 。
bool QStringRef::endsWith(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
文字列参照が「str 」で終わる場合は「true 」を返し、そうでない場合は「false 」を返します。
cs がQt::CaseSensitive (デフォルト) の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
QString::endsWith() およびstartsWith()も参照してください 。
bool QStringRef::endsWith(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
文字列参照が「ch 」で終わる場合は `true ` を返し、そうでない場合は `false` を返します。
cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
この関数は、QStringRef::endsWith() をオーバーロードします。
QString::endsWith() およびendsWith()も参照してください 。
bool QStringRef::endsWith(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この関数は、QStringRef::endsWith() をオーバーロードしています。
QString::endsWith() およびendsWith()も参照してください 。
[noexcept] bool QStringRef::endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この関数は、QStringRef::endsWith() をオーバーロードしています。
QString::endsWith() およびstartsWith()も参照してください 。
bool QStringRef::endsWith(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この関数は、QStringRef::endsWith() をオーバーロードしています。
QString::endsWith() およびendsWith()も参照してください 。
QChar QStringRef::front() const
文字列の先頭文字を返します。at(0) と同じです。
この関数は、STLとの互換性を確保するために提供されています。
警告: 空の文字列に対してこの関数を呼び出すと 、未定義の挙動となります。
関連項目: back()、at()、およびoperator[]()。
int QStringRef::indexOf(QLatin1String str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列参照内で、文字列 `str ` が最初に現れるインデックス位置を、インデックス位置 `from` から前方へ検索して返します。`str ` が見つからない場合は `-1` を返します。
cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
from が -1 の場合、検索は最後の文字から開始されます。-2 の場合は最後から 2 番目の文字から開始され、以下同様です。
QString::indexOf()、lastIndexOf()、contains()、およびcount()も参照してください 。
int QStringRef::indexOf(const QString &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列参照内で、文字列 `str ` が最初に現れるインデックス位置を、インデックス位置 `from` から前方に向かって検索して返します。`str ` が見つからない場合は -1 を返します。
cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
from が -1 の場合、検索は最後の文字から開始されます。-2 の場合は最後から 2 番目の文字から開始され、以下同様です。
QString::indexOf()、lastIndexOf()、contains()、およびcount()も参照してください 。
int QStringRef::indexOf(QChar ch, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
文字列参照内で、文字 `ch ` が最初に現れる位置のインデックスを、インデックス位置 `from` から前方へ検索して返します。`ch ` が見つからなかった場合は `-1` を返します。
この関数は、QStringRef::indexOf() をオーバーロードしています。
QString::indexOf()、lastIndexOf()、contains()、およびcount()も参照してください 。
[noexcept] int QStringRef::indexOf(QStringView str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列参照内で、文字列ビュー `str ` が最初に現れるインデックス位置を、インデックス位置 `from` から前方へ検索して返します。`str ` が見つからない場合は -1 を返します。
cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
from が -1 の場合、検索は最後の文字から開始されます。-2 の場合、最後から 2 番目の文字から開始されます。
この関数は、QStringRef::indexOf() をオーバーロードしています。
QString::indexOf()、QStringView::indexOf()、lastIndexOf()、contains()、およびcount()も参照してください 。
int QStringRef::indexOf(const QStringRef &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列参照内で、文字列参照 `str ` が最初に現れるインデックス位置を、インデックス位置 `from` から前方へ検索して返します。`str ` が見つからない場合は -1 を返します。
cs がQt::CaseSensitive (デフォルト) の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
この関数は、QStringRef::indexOf() をオーバーロードします。
QString::indexOf()、lastIndexOf()、contains()、およびcount()も参照してください 。
bool QStringRef::isEmpty() const
文字列参照に文字が含まれていない場合は `true ` を返し、それ以外の場合は `false` を返します。
文字列参照のサイズが 0 の場合、その文字列参照は空とみなされます。
size()も参照してください 。
bool QStringRef::isNull() const
この文字列参照が文字列を指していない場合、またはそれが指す文字列がnullである場合(つまり、QString::isNull()がtrueとなる場合)、true を返します。
size()も参照してください 。
bool QStringRef::isRightToLeft() const
文字列が右から左に読み込まれる場合、true を返します。
QString::isRightToLeft()も参照してください 。
int QStringRef::lastIndexOf(const QString &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列参照内で、文字列 `str ` が最後に現れるインデックス位置を、インデックス位置 `from` から逆方向に検索して返します。from が -1(デフォルト)の場合、検索は最後の文字から開始されます。from が -2 の場合は、最後から 2 番目の文字から開始され、以下同様です。str が見つからない場合は -1 を返します。
cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
QString::lastIndexOf()、indexOf()、contains()、およびcount()も参照してください 。
int QStringRef::lastIndexOf(QChar ch, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
位置 `from` から逆方向に検索し、文字 `ch` が最後に現れたインデックス位置を返します。
この関数は、QStringRef::lastIndexOf() をオーバーロードしたものです。
QString::lastIndexOf()、indexOf()、contains()、およびcount()も参照してください 。
int QStringRef::lastIndexOf(QLatin1String str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
from この文字列参照内で、文字列 `str ` が最後に現れるインデックス位置を、インデックス位置 `from` から逆方向に検索して返します。from が -1(デフォルト)の場合、検索は最後の文字から開始されます。 が -2 の場合は、最後から 2 番目の文字から開始されます。str が発見されなかった場合は -1 を返します。
cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
この関数は、QStringRef::lastIndexOf() をオーバーロードしています。
QString::lastIndexOf()、indexOf()、contains()、およびcount()も参照してください 。
[noexcept] int QStringRef::lastIndexOf(QStringView str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列内で、文字列 `str ` が最後に現れる位置のインデックスを、インデックス位置 `from` から逆方向に検索して返します。from が -1(デフォルト)の場合、検索は最後の文字から開始されます。from が -2 の場合は、最後から 2 番目の文字から開始され、以下同様です。str が見つからない場合は -1 を返します。
cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
この関数はQStringRef::lastIndexOf() をオーバーロードします。
indexOf()、contains()、およびcount()も参照してください 。
int QStringRef::lastIndexOf(const QStringRef &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この文字列参照内で、文字列参照 `str ` が最後に現れるインデックス位置を、インデックス位置 `from` から逆方向に検索して返します。`from ` が -1(デフォルト)の場合、検索は最後の文字から開始されます。`from ` が -2 の場合は、最後から 2 番目の文字から開始され、以下同様です。`str ` が見つからない場合は -1 を返します。
cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
この関数は、QStringRef::lastIndexOf() をオーバーロードしています。
QString::lastIndexOf()、indexOf()、contains()、およびcount()も参照してください 。
QStringRef QStringRef::left(int n) const
文字列の左端からn 文字分の部分文字列への参照を返します。
n がsize() 以上、または 0 未満の場合、文字列全体への参照が返されます。
right()、mid()、startsWith()、chopped()、chop()、およびtruncate()も参照してください 。
int QStringRef::length() const
文字列参照が指す文字数を返します。size() およびcount() と同等です。
position() およびstring()も参照してください 。
[static] int QStringRef::localeAwareCompare(const QStringRef &s1, const QString &s2)
s1 とs2 を比較し、s1 がs2 より小さい場合は負の整数を、s2 より大きい場合は正の整数を、等しい場合は 0 を返します。
比較は、ロケールおよびプラットフォームに依存する方式で行われます。この関数を使用して、ユーザーにソートされた文字列のリストを表示します。
compare()、QLocale 、およびComparing Stringsも参照してください 。
int QStringRef::localeAwareCompare(const QString &other) const
*this とother を比較し、*this がother より小さい場合は負の整数を、other より大きい場合は正の整数を、等しい場合は 0 を返します。
比較は、ロケールおよびプラットフォームに依存した方法で行われます。この関数を使用して、ユーザーにソートされた文字列のリストを表示します。
これはオーバーロードされた関数です。
Comparing Stringsも参照してください 。
int QStringRef::localeAwareCompare(const QStringRef &other) const
*this とother を比較し、*this がother より小さい場合は負の整数を、other より大きい場合は正の整数を、等しい場合は 0 を返します。
比較は、ロケールおよびプラットフォームに依存する方式で行われます。この関数を使用して、ユーザーにソートされた文字列のリストを表示します。
これはオーバーロードされた関数です。
Comparing Stringsも参照してください 。
[static] int QStringRef::localeAwareCompare(const QStringRef &s1, const QStringRef &s2)
s1 とs2 を比較し、s1 がs2 より小さい場合は負の整数を、s2 より大きい場合は正の整数を、等しい場合は 0 を返します。
比較は、ロケールおよびプラットフォームに依存する方式で行われます。この関数を使用して、ユーザーにソートされた文字列のリストを表示します。
これはオーバーロードされた関数です。
Comparing Stringsも参照してください 。
QStringRef QStringRef::mid(int position, int n = -1) const
指定されたposition を起点として、この文字列のn 文字分の部分文字列への参照を返します。
position が文字列の長さを超える場合、null 参照が返されます。
結果のposition() をint で表現できない場合、null のQStringRef が返されます。
指定されたposition から始まる文字列内に利用可能なn 文字が 文字未満の場合、またはn が -1 (デフォルト) の場合、この関数は指定されたposition 以降のすべての文字を返します。
left()、right()、chopped()、chop()、およびtruncate()も参照してください 。
int QStringRef::position() const
文字列参照が指す、参照先の文字列内の開始位置を返します。
QStringRef::const_reverse_iterator QStringRef::rbegin() const
文字列の最初の文字を逆順で指す、STL スタイルのconst 逆イテレータを返します。
begin()、crbegin()、およびrend()も参照してください 。
QStringRef::const_reverse_iterator QStringRef::rend() const
文字列の最後の文字の1つ先を指す、STL形式の逆方向イテレータを、逆順で返します。
end()、crend()、およびrbegin()も参照してください 。
QStringRef QStringRef::right(int n) const
文字列の右端からn 文字分の部分文字列への参照を返します。
n がsize()以上、またはゼロ未満の場合、文字列全体への参照が返されます。
新しいposition() がint() で表現できない場合、文字列全体への参照が返されます。
関連項目: left()、mid()、endsWith()、chopped()、chop()、およびtruncate()。
int QStringRef::size() const
文字列参照が指す文字数を返します。length() およびcount() と同等です。
position() およびstring()も参照してください 。
QList<QStringRef> QStringRef::split(const QString &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
文字列を、sep が登場する箇所ごとに部分文字列に分割し、それらの文字列のリストを返します。
sep 、behavior 、cs がどのように連携して結果を形成するかについては、QString::split() を参照してください。
注: この文字列が存続している限り、すべての 参照は有効です。この文字列を破棄すると、すべての参照がダングリングポインタとなります。
QList<QStringRef> QStringRef::split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
これはオーバーロードされた関数です。
bool QStringRef::startsWith(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
文字列参照が「str 」で始まる場合は `true ` を返し、そうでない場合は `false` を返します。
cs がQt::CaseSensitive (デフォルト) の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
QString::startsWith() およびendsWith()も参照してください 。
bool QStringRef::startsWith(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
文字列参照が「ch 」で始まる場合は `true ` を返し、そうでない場合は `false` を返します。
cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。
この関数はQStringRef::startsWith() をオーバーロードします。
QString::startsWith() およびendsWith()も参照してください 。
bool QStringRef::startsWith(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この関数は、QStringRef::startsWith() をオーバーロードしています。
QString::startsWith() およびendsWith()も参照してください 。
[noexcept] bool QStringRef::startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この関数は、QStringRef::startsWith() をオーバーロードしています。
QString::startsWith() およびendsWith()も参照してください 。
bool QStringRef::startsWith(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この関数は、QStringRef::startsWith() をオーバーロードしています。
QString::startsWith() およびendsWith()も参照してください 。
const QString *QStringRef::string() const
文字列参照が指す文字列へのポインタを返します。文字列参照が文字列を指していない場合は 0 を返します。
unicode()も参照してください 。
double QStringRef::toDouble(bool *ok = nullptr) const
double 値に変換された文字列を返します。
変換時にオーバーフローが発生した場合は無限大を、その他の理由(アンダーフローなど)で変換に失敗した場合は0.0を返します。
ok がnullptr でない場合、失敗時は*ok をfalse に設定して報告し、成功時は*ok をtrue に設定して報告します。
文字列の変換は常に「C」ロケールで行われます。ロケールに依存する変換を行う場合は、QLocale::toDouble() を使用してください。
歴史的な理由により、この関数は千の位区切り記号を処理しません。そのような数値を変換する必要がある場合は、QLocale::toDouble() を使用してください。
QString::toDouble()も参照してください 。
float QStringRef::toFloat(bool *ok = nullptr) const
float 値に変換された文字列を返します。
変換時にオーバーフローが発生した場合は無限大を、その他の理由(アンダーフローなど)で変換に失敗した場合は0.0を返します。
ok がnullptr でない場合、失敗時は*ok をfalse に設定して報告し、成功時は*ok をtrue に設定して報告します。
文字列の変換は常に「C」ロケールで行われます。ロケール依存の変換を行うには、QLocale::toFloat() を使用してください。
QString::toFloat()も参照してください 。
int QStringRef::toInt(bool *ok = nullptr, int base = 10) const
文字列を、基数base を使用してint に変換した結果を返します。 のデフォルト値は 10 で、2 から 36 の間の値、または 0 でなければなりません。変換に失敗した場合は 0 を返します。
ok がnullptr でない場合、*ok をfalse に設定して失敗を報告し、*ok をtrue に設定して成功を報告します。
base が0の場合、C言語の規約が使用されます。つまり、文字列が「0x」で始まる場合は16進数、文字列が「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。
文字列の変換は常に 'C' ロケールで行われます。ロケールに依存する変換を行うには、QLocale::toInt() を使用してください。
QString::toInt()も参照してください 。
QByteArray QStringRef::toLatin1() const
文字列のLatin-1表現をQByteArray として返します。
文字列にLatin-1以外の文字が含まれている場合、返されるバイト配列は未定義となります。それらの文字は省略されるか、疑問符に置き換えられる場合があります。
toUtf8()、toLocal8Bit()、およびQStringEncoderも参照してください 。
QByteArray QStringRef::toLocal8Bit() const
文字列のローカル8ビット表現をQByteArray として返します。文字列にローカル8ビットエンコーディングでサポートされていない文字が含まれている場合、返されるバイト配列は未定義となります。
Unixシステムでは、これはtoUtf8()と同等ですが、Windowsではシステムの現在のコードページが使用されます。
この文字列に、そのロケールでエンコードできない文字が含まれている場合、返されるバイト配列は未定義となります。それらの文字は省略されるか、別の文字に置き換えられる場合があります。
toLatin1()、toUtf8()、およびQStringEncoderも参照してください 。
long QStringRef::toLong(bool *ok = nullptr, int base = 10) const
文字列を、基数base (デフォルトは10。2~36の範囲内、または0でなければならない)を用いてlong に変換した結果を返します。変換に失敗した場合は0を返します。
ok がnullptr でない場合、失敗時は*ok をfalse に設定して、成功時は*ok をtrue に設定して、それぞれ失敗を報告します。
base が0の場合、C言語の規約が使用されます。文字列が「0x」で始まる場合は16進数、文字列が「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。
文字列の変換は常に「C」ロケールで行われます。ロケール依存の変換を行うには、QLocale::toLong() を使用してください。
QString::toLong()も参照してください 。
qlonglong QStringRef::toLongLong(bool *ok = nullptr, int base = 10) const
文字列を、基数base (デフォルトは10。2から36の間の整数、または0でなければならない)を用いてlong long に変換した結果を返します。変換に失敗した場合は0を返します。
ok がnullptr でない場合、失敗時は*ok をfalse に、成功時は*ok をtrue に設定することで、結果が報告されます。
base が0の場合、C言語の規約が使用されます。文字列が「0x」で始まる場合は16進数、文字列が「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。
文字列の変換は常に 'C' ロケールで行われます。ロケールに依存する変換を行うには、QLocale::toLongLong() を使用してください。
QString::toLongLong()も参照してください 。
short QStringRef::toShort(bool *ok = nullptr, int base = 10) const
文字列を、基数base (デフォルトは10で、2~36の範囲内、または0でなければならない)を用いてshort に変換した結果を返します。変換に失敗した場合は0を返します。
ok がnullptr でない場合、失敗時は*ok をfalse に設定して報告し、成功時は*ok をtrue に設定して報告します。
base が0の場合、C言語の規約が使用されます。文字列が「0x」で始まる場合は16進数、文字列が「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。
文字列の変換は常に 'C' ロケールで行われます。ロケール依存の変換を行うには、QLocale::toShort() を使用してください。
QString::toShort()も参照してください 。
QString QStringRef::toString() const
文字列参照のコピーをQString オブジェクトとして返します。
文字列参照が文字列の完全な参照でない場合(つまり、position() の値が 0 で、size() の値がstring() →size() である場合)、この関数は新しい文字列を割り当てて返します。
string()も参照してください 。
uint QStringRef::toUInt(bool *ok = nullptr, int base = 10) const
文字列を、基数base を使用してunsigned int に変換した結果を返します。 のデフォルト値は 10 ですが、2 から 36 までの値、または 0 である必要があります。変換に失敗した場合は 0 を返します。
ok がnullptr ではない場合、*ok をfalse に設定することで失敗が報告され、*ok をtrue に設定することで成功が報告されます。
base が0の場合、C言語の規約が使用されます。文字列が「0x」で始まる場合は16進数、文字列が「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。
文字列の変換は常に 'C' ロケールで行われます。ロケールに依存する変換を行うには、QLocale::toUInt() を使用してください。
QString::toUInt()も参照してください 。
ulong QStringRef::toULong(bool *ok = nullptr, int base = 10) const
文字列を、基数base を使用してunsigned long に変換した結果を返します。 のデフォルト値は 10 ですが、2 から 36 までの値、または 0 でなければなりません。変換に失敗した場合は 0 を返します。
ok がnullptr でない場合、失敗時は*ok をfalse に設定して、成功時は*ok をtrue に設定することで、結果が報告されます。
base が0の場合、C言語の規約が使用されます。文字列が「0x」で始まる場合は16進数、文字列が「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。
文字列の変換は常に 'C' ロケールで行われます。ロケールに依存した変換を行うには、QLocale::toULongLong() を使用してください。
QString::toULong()も参照してください 。
qulonglong QStringRef::toULongLong(bool *ok = nullptr, int base = 10) const
文字列を、基数base を使用してunsigned long long に変換した結果を返します。 のデフォルト値は 10 ですが、2 から 36 までの値、または 0 でなければなりません。変換に失敗した場合は 0 を返します。
ok がnullptr でない場合、失敗時は*ok をfalse に設定して報告し、成功時は*ok をtrue に設定して報告します。
base が0の場合、C言語の規約が使用されます。文字列が「0x」で始まる場合は16進数、文字列が「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。
文字列の変換は常に 'C' ロケールで行われます。ロケールに依存した変換を行うには、QLocale::toULongLong() を使用してください。
QString::toULongLong()も参照してください 。
ushort QStringRef::toUShort(bool *ok = nullptr, int base = 10) const
文字列を、基数base を使用してunsigned short に変換した値を返します。 のデフォルト値は10で、2から36までの値、または0でなければなりません。変換に失敗した場合は0を返します。
ok がnullptr でない場合、失敗時は*ok をfalse に設定して報告し、成功時は*ok をtrue に設定して報告します。
base が0の場合、C言語の規約が使用されます。文字列が「0x」で始まる場合は16進数、文字列が「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。
文字列の変換は常に 'C' ロケールで行われます。ロケール依存の変換を行うには、QLocale::toUShort() を使用してください。
QString::toUShort()も参照してください 。
QList<uint> QStringRef::toUcs4() const
文字列のUCS-4/UTF-32表現を、QList 型<uint>として返します。
UCS-4はUnicodeの符号化方式であるため、損失のない変換となります。この文字列に含まれるすべての文字はUCS-4で符号化されます。この文字列内の無効なコードユニットのシーケンスは、Unicodeの置換文字(QChar::ReplacementCharacter 、U+FFFD に相当)に置き換えられます。
返されるリストは、\0 で終了していません。
toUtf8()、toLatin1()、toLocal8Bit()、およびQStringEncoderも参照してください 。
QByteArray QStringRef::toUtf8() const
文字列のUTF-8表現をQByteArray として返します。
UTF-8はUnicodeの符号化方式であり、QString のようなUnicode文字列に含まれるすべての文字を表現できます。
toLatin1()、toLocal8Bit()、およびQStringEncoderも参照してください 。
QStringRef QStringRef::trimmed() const
先頭と末尾の空白文字が削除された文字列を返します。
空白とは、QChar::isSpace() がtrue を返す任意の文字を指します。これには、ASCII 文字の '\t'、'\n'、'\v'、'\f'、'\r'、および ' ' が含まれます。
QString::simplified() とは異なり、trimmed() は内部の空白文字はそのまま残します。
空白を削除した後、新しいposition()がint で表現できない場合、その挙動は未定義となります。
QString::trimmed()も参照してください 。
[noexcept] void QStringRef::truncate(int position)
指定されたposition のインデックスで文字列を切り詰めます。
指定されたposition のインデックスが文字列の末尾を超えている場合、何もしません。
position が負の値の場合、0を指定した場合と同じになります。
QString::truncate()も参照してください 。
const QChar *QStringRef::unicode() const
文字列参照のUnicode表現を返します。データは参照先の文字列から直接取得されるため、文字列参照にその文字列のヌル終端文字が含まれていない限り、\0'で終了することはありません。
string()も参照してください 。
[noexcept] bool QStringRef::operator!=(const char *s) const
s 型のconst charポインタは、fromUtf8()関数を使用してQStringRef 型に変換されます。
アプリケーションのコンパイル時にQT_NO_CAST_FROM_ASCII を定義することで、この演算子を無効にすることができます。これは、例えば、ユーザーに表示されるすべての文字列がQObject::tr()を経由するようにしたい場合などに役立ちます。
この文字列がパラメータ文字列s と字句的に等しくない場合、true を返します。それ以外の場合はfalse を返します。
この関数は、QStringRef::operator!=() をオーバーロードしています。
QT_NO_CAST_FROM_ASCIIも参照してください 。
[noexcept] bool QStringRef::operator<(const char *s) const
s 型のconst charポインタは、fromUtf8()関数を使用してQStringRef 型に変換されます。
アプリケーションのコンパイル時に `QT_NO_CAST_FROM_ASCII ` を定義することで、この演算子を無効にできます。これは、例えば、ユーザーに表示されるすべての文字列が `QObject::tr()` を経由するようにしたい場合などに役立ちます。
この文字列がパラメータの文字列s よりも字列的に小さい場合、true を返します。そうでない場合はfalse を返します。
この関数は `QStringRef::operator<()` をオーバーロードしています。
「QT_NO_CAST_FROM_ASCII」も参照してください 。
[noexcept] bool QStringRef::operator<=(const char *s) const
s 型のconst charポインタは、fromUtf8()関数を使用してQStringRef 型に変換されます。
アプリケーションのコンパイル時に `QT_NO_CAST_FROM_ASCII ` を定義することで、この演算子を無効にできます。これは、たとえば、ユーザーに表示されるすべての文字列が `QObject::tr()` を経由することを確実にしたい場合などに役立ちます。
この文字列がパラメータの文字列 `s` より辞書順で小さいか等しい場合、`true ` を返します。それ以外の場合は `false` を返します。
この関数は、QStringRef::operator<=() をオーバーロードします。
QT_NO_CAST_FROM_ASCIIも参照してください 。
QStringRef &QStringRef::operator=(const QString *string)
指定されたstring への文字列参照を構築し、それをこの文字列参照に代入して、その結果を返します。
警告: ` QStringRef `は 、その`size()`を表現するために`int `(32ビット)を使用します。Qt 6では、`QString `のサイズは`qsizetype`として表現され、64ビットビルドでは64ビットになります。入力のサイズが32ビットに収まることを確認してください。そうでない場合、the behavior is undefined となります。
[implicit] QStringRef &QStringRef::operator=(const QStringRef &other)
other という文字列参照をこの文字列参照に割り当て、その結果を返します。
[noexcept] bool QStringRef::operator==(const char *s) const
s のバイト配列は、fromUtf8()関数を使用してQStringRef に変換されます。この関数は、最初のNUL文字が見つかった時点、またはバイト配列の末尾に達した時点で変換を停止します。
アプリケーションのコンパイル時に `QT_NO_CAST_FROM_ASCII ` を定義することで、この演算子を無効にできます。これは、例えば、ユーザーに表示されるすべての文字列が `QObject::tr()` を経由するようにしたい場合などに役立ちます。
この文字列がパラメータ文字列 `s` と字句的に等しい場合、`true ` を返します。そうでない場合は `false` を返します。
この関数は `QStringRef::operator==()` をオーバーロードしています。
「QT_NO_CAST_FROM_ASCII」も参照してください 。
[noexcept] bool QStringRef::operator>(const char *s) const
s 型のconst charポインタは、fromUtf8()関数を使用してQStringRef 型に変換されます。
アプリケーションのコンパイル時に `QT_NO_CAST_FROM_ASCII ` を定義することで、この演算子を無効にすることができます。これは、例えば、ユーザーに表示されるすべての文字列を `QObject::tr()` 経由で処理させたい場合に役立ちます。
この文字列がパラメータの文字列s よりも字句的に大きい場合、true を返します。そうでない場合は、false を返します。
この関数は `QStringRef::operator>()` をオーバーロードしています。
「QT_NO_CAST_FROM_ASCII」も参照のこと 。
[noexcept] bool QStringRef::operator>=(const char *s) const
s 型のconst charポインタは、fromUtf8()関数を使用してQStringRef 型に変換されます。
アプリケーションのコンパイル時にQT_NO_CAST_FROM_ASCII を定義することで、この演算子を無効にすることができます。これは、例えば、ユーザーに表示されるすべての文字列がQObject::tr()を経由するようにしたい場合などに役立ちます。
この文字列がパラメータの文字列 `s` よりも辞書順で大きい、または等しい場合、`true ` を返します。それ以外の場合は `false` を返します。
この関数は、QStringRef::operator>=() をオーバーロードしています。
QT_NO_CAST_FROM_ASCIIも参照してください 。
QChar QStringRef::operator[](int position) const
文字列参照内の指定されたインデックスposition にある文字を返します。
position は、文字列参照内の有効なインデックス位置でなければなりません(つまり、0 <=position <size())。
at()も参照してください 。
関連する非メンバー
[noexcept] bool operator<(const QStringRef &s1, const QStringRef &s2)
文字列参照 `s1 ` が文字列参照 `s2` よりもレキシカルに小さい場合、true を返します。それ以外の場合は、false を返します。
Comparing Stringsも参照してください 。
[noexcept] bool operator<=(const QStringRef &s1, const QStringRef &s2)
文字列参照 `s1 ` が文字列参照 `s2` よりもレキシカルに小さいか等しい場合、true を返します。それ以外の場合は、false を返します。
Comparing Stringsも参照してください 。
[noexcept] bool operator==(QLatin1String s1, const QStringRef &s2)
文字列 `s1 ` が文字列参照 `s2` と辞書的に等しい場合、`true ` を返します。そうでない場合は、`false` を返します。
[noexcept] bool operator==(const QString &s1, const QStringRef &s2)
文字列 `s1 ` が文字列参照 `s2` と字句的に等しい場合、true を返します。そうでない場合は、false を返します。
[noexcept] bool operator==(const QStringRef &s1, const QStringRef &s2)
文字列参照 `s1 ` が文字列参照 `s2` とレキシカルに等しい場合は `true ` を返し、そうでない場合は `false` を返します。
[noexcept] bool operator>(const QStringRef &s1, const QStringRef &s2)
文字列参照 `s1 ` が文字列参照 `s2` よりもレキシカルに大きい場合、true を返します。そうでない場合は、false を返します。
Comparing Stringsも参照してください 。
[noexcept] bool operator>=(const QStringRef &s1, const QStringRef &s2)
文字列参照 `s1 ` が文字列参照 `s2` よりもレキシカルに大きい、または等しい場合は `true ` を返します。それ以外の場合は `false` を返します。
Comparing Stringsも参照してください 。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.