QStringRef Class

QStringRef クラスは、QString 部分文字列の薄いラッパーです。詳細...

Header: #include <QStringRef>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core5Compat)
target_link_libraries(mytarget PRIVATE Qt6::Core5Compat)
qmake: QT += core5compat

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

パブリック型

パブリック関数

QStringRef()
QStringRef(const QString *string)
QStringRef(const QString *string, int position, int 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 の読み取り専用サブセットを提供します。

文字列参照は、特定のposition() から始まる、指定されたsize() を持つstring() の一部を明示的に参照します。toString() を呼び出すと、データのコピーが実際のQString インスタンスとして返される。

このクラスは、既存のQString インスタンスから取得した部分文字列を操作する際の、部分文字列処理のパフォーマンスを向上させるために設計されています。QStringRefは、単に元の文字列の一部を参照することで、標準のQString のメモリ割り当てと参照カウントのオーバーヘッドを回避します。これは、パーサーで使用されるような低レベルのコードでは、より複雑なコードになる可能性がありますが、有利であることがわかります。

ほとんどのユーザーにとって、QString の代わりに QStringRef を使用することに意味的な利点はありません。なぜなら QStringRef はメモリ管理の問題に注意を払う必要があり、コードの記述や保守がより複雑になる可能性があるからです。

警告 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::QStringRef(const QString *string, int position, int length)

position length 指定されたstring に含まれる文字の範囲に対する文字列参照を構築します。

警告: この関数は、可能な限りパフォーマンスを向上させるために存在し、境界チェックを行いません。プログラムの正しさのために、positionlengthstring の有効な部分文字列を記述しなければならない。

position string length positionすなわち、0 <= position < string->length() と 0 <= length <= string->length() - position の両方を満たさなければならない。

[noexcept default] QStringRef::QStringRef(const QStringRef &other)

other 文字列参照のコピーを構築する。

[noexcept default] 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

文字列の最初の文字を指す constSTL 形式のイテレータを返します。

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 文字を文字列の末尾から削除します。

nsize() 以上の場合、結果は空文字列となる。n が負の場合、ゼロを渡すのと同じ。

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)

s1s2 を比較し、s1s2 より小さい場合は負の整数、s2 より大きい場合は正の整数、等しい場合は 0 を返す。

csQt::CaseSensitive の場合は大文字小文字を区別し、それ以外の場合は区別しない。

[noexcept] int QStringRef::compare(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

これはオーバーロードされた関数である。

*thisch を比較し、*thisch より小さい場合は負の整数を、ch より大きい場合は正の整数を、等しい場合はゼロを返す。ここで、ch は長さ1の文字列と解釈される。

csQt::CaseSensitive の場合、比較は大文字小文字を区別する。

[noexcept] int QStringRef::compare(QLatin1String other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

これはオーバーロードされた関数である。

*thisother を比較し、*thisother より小さい場合は負の整数を、other より大きい場合は正の整数を、等しい場合はゼロを返す。

csQt::CaseSensitive の場合、比較は大文字小文字を区別し、それ以外の場合、比較は大文字小文字を区別しない。

compare(*this, other, cs) と同等である。

int QStringRef::compare(const QByteArray &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

これはオーバーロードされた関数です。

*thisother を比較し、*thisother より小さい場合は負の整数を、other より大きい場合は正の整数を、等しい場合はゼロを返す。other の内容はUTF-8として解釈される。

csQt::CaseSensitive の場合、比較は大文字小文字を区別する。

compare(*this, other, cs) と同等です。

[noexcept] int QStringRef::compare(const QString &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

これはオーバーロードされた関数です。

*thisother を比較し、*thisother より小さい場合は負の整数、other より大きい場合は正の整数、等しい場合は 0 を返す。

csQt::CaseSensitive の場合、比較は大文字小文字を区別し、それ以外の場合、比較は大文字小文字を区別しない。

compare(*this, other, cs) と同等である。

[noexcept] int QStringRef::compare(const QStringRef &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

これはオーバーロードされた関数です。

*thisother を比較し、*thisother より小さい場合は負の整数を、other より大きい場合は正の整数を、等しい場合はゼロを返す。

csQt::CaseSensitive の場合、比較は大文字小文字を区別し、それ以外の場合、比較は大文字小文字を区別しない。

compare(*this, other, cs) と同等である。

[static noexcept] int QStringRef::compare(const QStringRef &s1, QLatin1String s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)

これはオーバーロードされた関数です。

s1s2 を比較し、s1s2 より小さい場合は負の整数を、s2 より大きい場合は正の整数を、等しい場合はゼロを返す。

csQt::CaseSensitive の場合、比較は大文字小文字を区別する。

[static noexcept] int QStringRef::compare(const QStringRef &s1, const QStringRef &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)

これはオーバーロードされた関数である。

s1s2 を比較し、s1s2 より小さい場合は負の整数を、s2 より大きい場合は正の整数を、それらが等しい場合はゼロを返す。

csQt::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 を返します。

csQt::CaseSensitive の場合(デフォルト)、検索では大文字と小文字が区別される。

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

bool QStringRef::contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は contains() をオーバーロードする。

この文字列にch という文字が含まれている場合はtrue を返し、そうでない場合はfalse を返します。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。

bool QStringRef::contains(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は contains() をオーバーロードする。

この文字列参照が文字列str を含んでいる場合はtrue を返し、そうでない場合はfalse を返す。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。

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

[noexcept] bool QStringRef::contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は contains() をオーバーロードする。

この文字列参照が文字列ビューstr を含んでいる場合はtrue を返し、そうでない場合はfalse を返します。

csQt::CaseSensitive (デフォルト)の場合、検索は大文字小文字を区別します。

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

bool QStringRef::contains(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は contains() をオーバーロードする。

この文字列参照が文字列参照str を含んでいる場合はtrue を返し、そうでない場合はfalse を返します。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。

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

int QStringRef::count() const

文字列参照が参照する文字数を返す。size() およびlength() と同じ。

position() およびstring() も参照

int QStringRef::count(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列参照に含まれる、文字列str の(重複している可能性のある)出現回数を返します。

csQt::CaseSensitive の場合 (デフォルト)、大文字小文字を区別します。

QString::count()、contains()、indexOf()も参照

int QStringRef::count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は count() をオーバーロードする。

文字列参照内の文字ch の出現回数を返す。

csQt::CaseSensitive の場合(デフォルト)、大文字小文字を区別して検索される。

QString::count()、contains()、indexOf()も参照

int QStringRef::count(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は count() をオーバーロードしたものである。

この文字列参照内で、文字列参照str が(重複している可能性がある)出現する回数を返します。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別する。

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

リストの最後の文字の後の虚数文字を指す constSTL 形式のイテレータを返します。

cbegin(),constBegin(), end(),constEnd(),rbegin(),rend()も参照

bool QStringRef::endsWith(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

文字列参照がstr で終わっている場合はtrue を返し、そうでない場合はfalse を返す。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別する。

QString::endsWith() およびstartsWith()も参照

bool QStringRef::endsWith(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は endsWith() をオーバーロードする。

文字列参照がch で終わっている場合はtrue を返し、そうでない場合はfalse を返します。

csQt::CaseSensitive の場合(デフォルト)、大文字小文字を区別して検索します。

QString::endsWith() およびendsWith()も参照してください

bool QStringRef::endsWith(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は endsWith() をオーバーロードします。

QString::endsWith() およびendsWith() も参照して ください。

[noexcept] bool QStringRef::endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は endsWith() をオーバーロードします。

QString::endsWith() およびstartsWith() も参照して ください。

bool QStringRef::endsWith(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は 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 を返す。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別する。

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

QString::indexOf()、lastIndexOf()、contains()、count()も参照

int QStringRef::indexOf(const QString &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

from のインデックス位置から前方を検索して、この文字列参照で最初に出現する文字列str のインデックス位置を返します。str が見つからない場合は -1 を返す。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別する。

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

QString::indexOf()、lastIndexOf()、contains()、count()も参照のこと

int QStringRef::indexOf(QChar ch, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は indexOf() をオーバーロードしたものである。

インデックス位置from から前方を検索して、文字列参照内で最初に出現する文字ch のインデックス位置を返す。ch が見つからなかった場合は -1 を返す。

QString::indexOf()、lastIndexOf()、contains()、count()も参照

[noexcept] int QStringRef::indexOf(QStringView str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は indexOf() をオーバーロードします。

インデックス位置from から前方を検索して、この文字列参照で最初に出現する文字列ビューstr のインデックス位置を返します。str が見つからない場合は -1 を返す。

csQt::CaseSensitive (デフォルト) の場合、検索は大文字小文字を区別します。

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

QString::indexOf()、QStringView::indexOf()、lastIndexOf()、contains()、count()も参照のこと

int QStringRef::indexOf(const QStringRef &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は indexOf() をオーバーロードしたものである。

インデックス位置from から前方を検索して、この文字列参照内で最初に出現する文字列参照str のインデックス位置を返します。str が見つからない場合は -1 を返す。

csQt::CaseSensitive (デフォルト) の場合、検索は大文字小文字を区別します。

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 の場合、最後から次の文字から始まります。str が見つからない場合は -1 を返す。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別する。

QString::lastIndexOf()、indexOf()、contains()、count()も参照

int QStringRef::lastIndexOf(QChar ch, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は lastIndexOf() をオーバーロードします。

from の位置から後方検索して、最後に出現した文字ch のインデックス位置を返す。

QString::lastIndexOf()、indexOf()、contains()、count()も参照

int QStringRef::lastIndexOf(QLatin1String str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は lastIndexOf() をオーバーロードします。

インデックス位置from から後方に検索して、この文字列参照で最後に出現した文字列str のインデックス位置を返します。from が -1 (デフォルト) の場合、検索は最後の文字から始まります。from が -2 の場合、最後から次の文字から始まります。str が見つからない場合は -1 を返す。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別する。

QString::lastIndexOf()、indexOf()、contains()、count()も参照

[noexcept] int QStringRef::lastIndexOf(QStringView str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は lastIndexOf() をオーバーロードします。

インデックス位置from から後方へ検索して、この文字列内で最後に出現した文字列ビューstr のインデックス位置を返します。from が -1 (デフォルト) の場合、検索は最後の文字から始まります。from が -2 の場合、最後から次の文字から始まります。str が見つからない場合は -1 を返す。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別する。

indexOf()、contains()、count()も参照

int QStringRef::lastIndexOf(const QStringRef &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は lastIndexOf() をオーバーロードします。

インデックス位置from から後方に検索して、この文字列参照内で最後に出現した文字列参照str のインデックス位置を返します。from が -1 (デフォルト) の場合、検索は最後の文字から始まります。from が -2 の場合、最後から次の文字から始まります。str が見つからない場合は -1 を返す。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別する。

QString::lastIndexOf()、indexOf()、contains()、count()も参照

QStringRef QStringRef::left(int n) const

文字列の左端の文字n への部分文字列参照を返します。

nsize() 以上の場合、または 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)

s1s2 を比較し、s1s2 より小さい場合は負の整数、s2 より大きい場合は正の整数、等しい場合は 0 を返す。

比較はロケールやプラットフォームに依存した方法で行われる。この関数は、ソートされた文字列のリストをユーザーに表示するために使用する。

compare()、QLocale 、およびComparing Stringsも参照のこと

int QStringRef::localeAwareCompare(const QString &other) const

これはオーバーロードされた関数である。

*thisother を比較し、*thisother より小さい場合は負の整数を、other より大きい場合は正の整数を、等しい場合はゼロを返す。

比較はロケールやプラットフォームに依存した方法で行われる。この関数は、ソートされた文字列のリストをユーザに提示するために使用する。

Comparing Stringsも参照のこと

int QStringRef::localeAwareCompare(const QStringRef &other) const

これはオーバーロードされた関数です。

*thisother を比較し、*thisother より小さい場合は負の整数、other より大きい場合は正の整数、等しい場合は 0 を返す。

比較はロケールやプラットフォームに依存した方法で行われる。この関数は、ソートされた文字列のリストをユーザに提示するために使用する。

Comparing Stringsも参照のこと

[static] int QStringRef::localeAwareCompare(const QStringRef &s1, const QStringRef &s2)

これはオーバーロードされた関数です。

s1s2 を比較し、s1s2 より小さい場合は負の整数、s2 より大きい場合は正の整数、等しい場合は 0 を返す。

比較はロケールやプラットフォームに依存した方法で行われる。この関数は、ソートされた文字列のリストをユーザに提示するために使用する。

Comparing Stringsも参照のこと

QStringRef QStringRef::mid(int position, int n = -1) const

この文字列の、指定したposition から始まるn 文字への部分文字列参照を返します。

position が文字列の長さを超える場合は、NULL参照が返される。

指定されたposition から始まる文字列がn 未満の場合、またはn が -1 (デフォルト)の場合、この関数は、指定されたposition 以降のすべての文字を返します。

left()、right()、chopped()、chop()、truncate()も参照

int QStringRef::position() const

文字列参照によって参照される文字列の開始位置を返します。

size() およびstring()も参照

QStringRef::const_reverse_iterator QStringRef::rbegin() const

文字列の最初の文字を指す constSTL 形式の逆順イテレータを返します。

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

QStringRef::const_reverse_iterator QStringRef::rend() const

文字列の最後の文字以降を指すSTL 形式の逆順イテレータを返します。

end()、crend()、rbegin()も参照

文字列のn 右端文字への部分文字列参照を返します。

nsize() 以上の場合、または 0 より小さい場合は、文字列全体への参照が返されます。

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 が存在する箇所で文字列を部分文字列参照に分割し、それらの文字列のリストを返します。

sepbehaviorcs がどのように相互作用して結果を形成するかについては、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 を返す。

csQt::CaseSensitive (デフォルト) の場合、検索は大文字小文字を区別する。

QString::startsWith() およびendsWith()も参照してください

bool QStringRef::startsWith(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は startsWith() をオーバーロードする。

文字列参照がch で始まる場合はtrue を返し、そうでない場合はfalse を返します。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別する。

QString::startsWith() およびendsWith()も参照してください

bool QStringRef::startsWith(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は startsWith() をオーバーロードする。

QString::startsWith() およびendsWith() も参照して ください。

[noexcept] bool QStringRef::startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は startsWith() をオーバーロードします。

QString::startsWith() およびendsWith() も参照して ください。

bool QStringRef::startsWith(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は startsWith() をオーバーロードします。

QString::startsWith() およびendsWith()も参照

const QString *QStringRef::string() const

文字列参照が参照する文字列へのポインタを返すか、文字列を参照していない場合は 0 を返します。

unicode()も参照

double QStringRef::toDouble(bool *ok = nullptr) const

double 値に変換された文字列を返します。

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

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

文字列変換は常に'C'ロケールで行われる。ロケールに依存する変換には、QLocale::toDouble() を使用する。

歴史的な理由により、この関数は数千のグループ区切り文字を扱わない。そのような数値を変換する必要がある場合は、QLocale::toDouble() を使用する。

QString::toDouble()も参照

float QStringRef::toFloat(bool *ok = nullptr) const

float 値に変換された文字列を返します。

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

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

文字列変換は常に'C'ロケールで行われる。ロケール依存の変換にはQLocale::toFloat() を使用する。

QString::toFloat()も参照

int QStringRef::toInt(bool *ok = nullptr, int base = 10) const

base を基数として、int に変換された文字列を返します。 この基数は、デフォルトでは 10 であり、2 から 36 の間でなければなりません。

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

base が0の場合、C言語の規約が使用される:文字列が "0x "で始まる場合、16進数が使用され、文字列が "0 "で始まる場合、 8進数が使用され、そうでない場合、10進数が使用される。

文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換を行うには、QLocale::toInt() を使用する。

QString::toInt()も参照

QByteArray QStringRef::toLatin1() const

文字列の Latin-1 表現をQByteArray として返す。

返されるバイト配列は、文字列に非ラテン文字が含まれている場合は未定義となる。これらの文字は抑制されるか、クエスチョンマークで置き換えられます。

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 を基数としてlong に変換した文字列を返す。この基数はデフォルトでは 10 であり、2 から 36 の間でなければならない。

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

base が0の場合、C言語の規約が使用される:文字列が "0x "で始まる場合、16進数が使用され、文字列が "0 "で始まる場合、 8進数が使用され、そうでない場合、10進数が使用される。

文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換を行うには、QLocale::toLong() を使用する。

QString::toLong()も参照

qlonglong QStringRef::toLongLong(bool *ok = nullptr, int base = 10) const

base を基数として、long long に変換された文字列を返します。 この基数は、デフォルトでは 10 であり、2 から 36 の間でなければなりません。

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

base が0の場合、C言語の規約が使用される:文字列が "0x "で始まる場合、16進数が使用され、文字列が "0 "で始まる場合、 8進数が使用され、そうでない場合、10進数が使用される。

文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換を行うには、QLocale::toLongLong() を使用する。

QString::toLongLong()も参照

short QStringRef::toShort(bool *ok = nullptr, int base = 10) const

base を基数として、short に変換された文字列を返します。 この基数は、デフォルトでは 10 であり、2 から 36 の間でなければなりません。

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

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 の間でなければなりません。

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

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 の間でなければなりません。

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

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 の間でなければなりません。

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

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 の間でなければなりません。

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

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 の置換文字 (U+FFFD に対応するQChar::ReplacementCharacter) で置換されます。

返されたリストは終了しません。

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() は内部の空白を残します。

QString::trimmed()も参照してください

[noexcept] void QStringRef::truncate(int position)

指定されたposition インデックスで文字列を切り捨てます。

指定したposition インデックスが文字列の末尾を越えている場合は、何も起こりません。

position が負の場合は、ゼロを渡すのと同じである。

QString::truncate()も参照

const QChar *QStringRef::unicode() const

文字列参照の Unicode 表現を返します。データは参照された文字列から直接取得されるため、文字列参照に文字列の NULL 終端が含まれていない限り、'終端'されません。

string()も参照

bool QStringRef::operator!=(const char *s) const

この関数は operator!=() をオーバーロードします。

s const char ポインタは、fromUtf8() 関数を使用してQStringRef に変換される。

アプリケーションのコンパイル時にQT_NO_CAST_FROM_ASCII を定義することで、この演算子を無効にすることができる。これは、たとえば、すべてのユーザー可視文字列がQObject::tr() を通過するようにしたい場合に便利です。

この文字列が字句解析的にパラメータ文字列s と等しくない場合はtrue を返します。そうでない場合はfalse を返します。

QT_NO_CAST_FROM_ASCIIも参照してください

bool QStringRef::operator<(const char *s) const

この関数は operator<() をオーバーロードする。

s const char ポインタは、fromUtf8() 関数を使用してQStringRef に変換されます。

アプリケーションのコンパイル時にQT_NO_CAST_FROM_ASCII を定義することで、この演算子を無効にすることができます。これは、たとえば、すべてのユーザー可視文字列がQObject::tr() を通過するようにしたい場合に便利です。

この文字列がパラメータ文字列s より語彙的に小さい場合はtrue を返します。そうでない場合はfalse を返します。

QT_NO_CAST_FROM_ASCIIも参照してください

bool QStringRef::operator<=(const char *s) const

この関数は operator<=() をオーバーロードする。

s const char ポインタは、fromUtf8() 関数を使用してQStringRef に変換されます。

アプリケーションのコンパイル時にQT_NO_CAST_FROM_ASCII を定義することで、この演算子を無効にすることができます。これは、たとえば、すべてのユーザー可視文字列がQObject::tr() を通過するようにしたい場合に便利である。

この文字列が字句解析的にパラメータ文字列s よりも小さいか等しい場合、true を返します。そうでない場合はfalse を返します。

QT_NO_CAST_FROM_ASCIIも参照してください

QStringRef &QStringRef::operator=(const QString *string)

与えられたstring への文字列参照を構築し、それをこの文字列参照に代入し、その結果を返します。

[noexcept default] QStringRef &QStringRef::operator=(const QStringRef &other)

other 文字列参照をこの文字列参照に代入し、結果を返します。

bool QStringRef::operator==(const char *s) const

この関数は operator==() をオーバーロードします。

s バイト配列は、fromUtf8() 関数を使用してQStringRef に変換される。この関数は、最初に見つかったNUL文字、またはバイト配列の終端で変換を停止します。

アプリケーションのコンパイル時にQT_NO_CAST_FROM_ASCII を定義することで、この演算子を無効にすることができます。これは、たとえば、すべてのユーザー可視文字列がQObject::tr() を通過するようにしたい場合に便利である。

この文字列が字句解析的にパラメータ文字列s と等しい場合はtrue を返す。そうでない場合はfalse を返します。

QT_NO_CAST_FROM_ASCIIも参照。

bool QStringRef::operator>(const char *s) const

この関数は operator>() をオーバーロードする。

s const charポインタは、fromUtf8()関数を使用してQStringRef に変換される。

アプリケーションのコンパイル時にQT_NO_CAST_FROM_ASCII を定義することで、この演算子を無効にすることができます。これは、たとえば、すべてのユーザー可視文字列がQObject::tr() を通過するようにしたい場合に便利です。

この文字列が字句解析的にパラメータ文字列s より大きい場合はtrue を返す。それ以外の場合はfalse を返します。

QT_NO_CAST_FROM_ASCIIも参照してください

bool QStringRef::operator>=(const char *s) const

この関数は operator>=() をオーバーロードする。

s const char ポインタは、fromUtf8() 関数を使用してQStringRef に変換されます。

アプリケーションのコンパイル時にQT_NO_CAST_FROM_ASCII を定義することで、この演算子を無効にすることができます。これは、たとえば、すべてのユーザー可視文字列がQObject::tr() を通過するようにしたい場合に便利です。

この文字列が字句解析的にパラメータ文字列s 以上であればtrue を返す。そうでない場合はfalse を返します。

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も参照して ください。

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