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, 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
メンバ関数のドキュメント
[constexpr noexcept]
QStringRef::QStringRef()
空の文字列参照を作成します。
QStringRef::QStringRef(const QString *string)
与えられたstring への文字列参照を構築する。
QStringRef::QStringRef(const QString *string, int position, int length)
文字数で開始position とlength で指定された、与えられたstring の文字範囲への文字列参照を構築する。
警告: この関数は、可能な限りパフォーマンスを向上させるために存在し、境界チェックは行いません。プログラムの正しさのために、position とlength はstring の有効な部分文字列を記述しなければならない。
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 文字を削除する。
n がsize() 以上の場合、結果は空文字列となる。n が負の場合、ゼロを渡すのと同じである。
QString::chop() およびtruncate()も参照 。
QStringRef QStringRef::chopped(int len) const
この文字列のsize() -len 左端の文字への部分文字列参照を返す。
注意: len が負またはsize() より大きい場合の動作は未定義です。
endsWith()、left()、right()、mid()、chop()、truncate()も参照 。
void QStringRef::clear()
文字列参照の内容をクリアし、null および空にします。
[static noexcept]
int QStringRef::compare(const QStringRef &s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
s1 とs2 を比較し、s1 がs2 より小さい場合は負の整数を、s2 より大きい場合は正の整数を、等しい場合はゼロを返す。
cs がQt::CaseSensitive の場合、比較は大文字小文字を区別する。
[noexcept]
int QStringRef::compare(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
これはオーバーロードされた関数である。
*this
とch を比較し、*this
がch より小さければ負の整数を、ch より大きければ正の整数を、等しければゼロを返す。ここで、ch は長さ1の文字列と解釈される。
cs がQt::CaseSensitive の場合、比較は大文字小文字を区別する。
[noexcept]
int QStringRef::compare(QLatin1String other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
これはオーバーロードされた関数である。
*this
とother を比較し、*this
がother より小さい場合は負の整数を、other より大きい場合は正の整数を、等しい場合はゼロを返す。
cs がQt::CaseSensitive の場合、比較は大文字小文字を区別し、それ以外の場合、比較は大文字小文字を区別しない。
compare(*this, other, cs)
と同等。
int QStringRef::compare(const QByteArray &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
これはオーバーロードされた関数である。
*this
とother を比較し、*this
がother より小さい場合は負の整数を、other より大きい場合は正の整数を、等しい場合はゼロを返す。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 より大きい場合は正の整数を、等しい場合はゼロを返す。
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 より大きい場合は正の整数を、等しい場合はゼロを返す。
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 より大きい場合は正の整数を、等しい場合はゼロを返す。
cs がQt::CaseSensitive である場合、比較は大文字小文字を区別する。
[static noexcept]
int QStringRef::compare(const QStringRef &s1, const QStringRef &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
これはオーバーロードされた関数である。
s1 とs2 を比較し、s1 がs2 より小さい場合は負の整数を、s2 より大きい場合は正の整数を、等しい場合はゼロを返す。
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 の場合(デフォルト)、検索は大文字小文字を区別する。
bool QStringRef::contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この関数は contains() をオーバーロードする。
この文字列が文字ch を含む場合はtrue
を返し、そうでない場合はfalse
を返す。
cs がQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。
bool QStringRef::contains(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この関数は contains() をオーバーロードする。
この文字列参照が文字列str を含んでいる場合はtrue
を返し、そうでない場合はfalse
を返します。
cs がQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。
[noexcept]
bool QStringRef::contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この関数は contains() をオーバーロードする。
この文字列参照が文字列ビューstr の出現箇所を含んでいる場合はtrue
を返し、そうでない場合はfalse
を返します。
cs がQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。
bool QStringRef::contains(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この関数は contains() をオーバーロードする。
この文字列参照が文字列参照str を含んでいる場合はtrue
を返し、そうでない場合はfalse
を返します。
cs がQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。
int QStringRef::count() const
文字列参照が参照する文字数を返す。size() およびlength() と同等。
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
この関数は count() をオーバーロードする。
文字列参照内の文字ch の出現回数を返す。
cs がQt::CaseSensitive (デフォルト) の場合は大文字小文字を区別し、それ以外の場合は大文字小文字を区別しない。
QString::count()、contains()、indexOf()も参照 。
int QStringRef::count(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この関数は count() をオーバーロードする。
この文字列参照の中で、文字列参照str が(重複している可能性がある)出現する回数を返す。
cs がQt::CaseSensitive (デフォルト) の場合、検索は大文字小文字を区別します。それ以外の場合、検索は大文字小文字を区別しません。
QString::count()、contains()、indexOf()も参照 。
QStringRef::const_reverse_iterator QStringRef::crbegin() const
rbegin() と同じ。
begin()、rbegin()、rend()も参照の こと。
QStringRef::const_reverse_iterator QStringRef::crend() const
rend() と同じ。
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
を返す。
cs がQt::CaseSensitive (デフォルト) の場合、検索は大文字小文字を区別する。
QString::endsWith() およびstartsWith()も参照 。
bool QStringRef::endsWith(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
この関数は endsWith() をオーバーロードする。
文字列参照がch で終わっている場合はtrue
を返し、そうでない場合はfalse
を返します。
cs がQt::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 を返す。
cs がQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。
from が -1 の場合、検索は最後の文字から開始され、-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 の場合は次の文字から開始される。
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 を返します。
cs がQt::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 を返します。
cs がQt::CaseSensitive (デフォルト) の場合、検索は大文字小文字を区別します。
QString::indexOf()、lastIndexOf()、contains() およびcount()も参照 。
bool QStringRef::isEmpty() const
文字列参照に文字がない場合はtrue
を返し、そうでない場合はfalse
を返す。
文字列参照のサイズがゼロの場合は空である。
size()も参照のこと 。
bool QStringRef::isNull() const
この文字列参照が文字列を参照していない場合、または参照している文字列が NULL の場合(つまりQString::isNull() が真)、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 を返す。
cs がQt::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 を返す。
cs がQt::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 を返す。
cs がQt::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 を返す。
cs がQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別する。
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() と同等。
[static]
int QStringRef::localeAwareCompare(const QStringRef &s1, const QString &s2)
s1 とs2 を比較し、s1 がs2 より小さい場合は負の整数を、s2 より大きい場合は正の整数を、等しい場合はゼロを返す。
比較はロケールやプラットフォームに依存した方法で行われる。この関数は、ソートされた文字列のリストをユーザに提示するために使用する。
compare()、QLocale 、Comparing Stringsも参照のこと 。
int QStringRef::localeAwareCompare(const QString &other) const
これはオーバーロードされた関数である。
*this
とother を比較し、*this
がother より小さい場合は負の整数を、other より大きい場合は正の整数を、等しい場合はゼロを返す。
比較はロケールやプラットフォームに依存した方法で行われる。この関数は、ソートされた文字列のリストをユーザに提示するために使用する。
Comparing Stringsも参照のこと 。
int QStringRef::localeAwareCompare(const QStringRef &other) const
これはオーバーロードされた関数である。
*this
とother を比較し、*this
がother より小さい場合は負の整数を、other より大きい場合は正の整数を、等しい場合はゼロを返す。
比較はロケールやプラットフォームに依存した方法で行われる。この関数は、ソートされた文字列のリストをユーザに提示するために使用する。
Comparing Stringsも参照のこと 。
[static]
int QStringRef::localeAwareCompare(const QStringRef &s1, const QStringRef &s2)
これはオーバーロードされた関数である。
s1 とs2 を比較し、s1 がs2 より小さい場合は負の整数を、s2 より大きい場合は正の整数を、等しい場合はゼロを返す。
比較はロケールやプラットフォームに依存した方法で行われる。この関数は、ソートされた文字列のリストをユーザーに表示するために使用する。
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
文字列参照が参照する文字列の開始位置を返します。
QStringRef::const_reverse_iterator QStringRef::rbegin() const
文字列の最初の文字を逆順で指す constSTL 形式の逆順イテレータを返します。
QStringRef::const_reverse_iterator QStringRef::rend() const
STL 形式の逆順イテレータで、文字列の最後の文字から逆順に 1 つ前の文字を指します。
QStringRef QStringRef::right(int n) const
文字列のn 右端文字への部分文字列参照を返す。
n がsize() 以上の場合、または 0 より小さい場合は、文字列全体への参照が返されます。
left()、mid()、endsWith()、chopped()、chop()、truncate()も参照 。
int QStringRef::size() const
文字列参照が参照する文字数を返す。length() およびcount() と同等。
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
この関数は startsWith() をオーバーロードする。
文字列参照がch で始まっていればtrue
を返し、そうでなければfalse
を返す。
cs がQt::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
文字列参照が参照する文字列へのポインタを返す。
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 の間でなければならない。
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 として返します。
返されるバイト配列は、文字列にLatin1以外の文字が含まれている場合は未定義です。これらの文字は抑制されるか、クエスチョンマークで置き換えられます。
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 の間でなければなりません。
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 を基数として、long long
に変換された文字列を返します。 はデフォルトで 10 であり、2 から 36 の間でなければなりません。
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 を基数として、short
に変換された文字列を返します。 はデフォルトで 10 であり、2 から 36 の間でなければなりません。
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 の間でなければならない。
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 の間でなければならない。
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 の間でなければならない。
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 の間でなければならない。
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 の置換文字 (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 表現を返します。データは参照された文字列から直接来ているので、文字列参照に文字列のヌル終端が含まれない限り、 〚終端しません〛。
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も参照 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.