QLatin1String Class

The QLatin1String class provides a thin wrapper around an US-ASCII/Latin-1 encoded string literal. More...

Header: #include <QLatin1String>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

Note: All functions in this class are reentrant.

Public Types

Public Functions

QLatin1String(QByteArrayView str)
QLatin1String(const QByteArray &str)
QLatin1String(const char *str, qsizetype size)
QLatin1String(const char *first, const char *last)
QLatin1String(const char *str)
QLatin1String()
QString arg(Args &&... args) const
QLatin1Char at(qsizetype pos) const
QLatin1Char back() const
QLatin1String::const_iterator begin() const
QLatin1String::const_iterator cbegin() const
QLatin1String::const_iterator cend() const
void chop(qsizetype length)
QLatin1String chopped(qsizetype length) const
int compare(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int compare(QLatin1String l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int compare(QChar ch) const
int compare(QChar ch, Qt::CaseSensitivity cs) const
bool contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool contains(QLatin1String l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool contains(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QLatin1String::const_reverse_iterator crbegin() const
QLatin1String::const_reverse_iterator crend() const
const char *data() const
QLatin1String::const_iterator end() const
bool endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool endsWith(QLatin1String l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool endsWith(QChar ch) const
bool endsWith(QChar ch, Qt::CaseSensitivity cs) const
QLatin1String first(qsizetype n) const
QLatin1Char front() const
qsizetype indexOf(QStringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype indexOf(QLatin1String l1, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype indexOf(QChar c, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool isEmpty() const
bool isNull() const
QLatin1String last(qsizetype n) const
qsizetype lastIndexOf(QStringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype lastIndexOf(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype lastIndexOf(QLatin1String l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype lastIndexOf(QLatin1String l1, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype lastIndexOf(QChar c, qsizetype from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
const char *latin1() const
QLatin1String left(qsizetype length) const
QLatin1String mid(qsizetype start, qsizetype length = -1) const
QLatin1String::const_reverse_iterator rbegin() const
QLatin1String::const_reverse_iterator rend() const
QLatin1String right(qsizetype length) const
qsizetype size() const
QLatin1String sliced(qsizetype pos) const
QLatin1String sliced(qsizetype pos, qsizetype n) const
bool startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool startsWith(QLatin1String l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool startsWith(QChar ch) const
bool startsWith(QChar ch, Qt::CaseSensitivity cs) const
QString toString() const
decltype(qTokenize(*this, std::forward<Needle>(needle), flags...)) tokenize(Needle &&sep, Flags... flags) const
QLatin1String trimmed() const
void truncate(qsizetype length)
bool operator!=(const char *other) const
bool operator!=(const QByteArray &other) const
bool operator<(const char *other) const
bool operator<(const QByteArray &other) const
bool operator<=(const char *other) const
bool operator<=(const QByteArray &other) const
bool operator==(const char *other) const
bool operator==(const QByteArray &other) const
bool operator>(const char *other) const
bool operator>(const QByteArray &other) const
bool operator>=(const char *other) const
bool operator>=(const QByteArray &other) const
QLatin1Char operator[](qsizetype pos) const
bool operator!=(QLatin1String s1, QLatin1String s2)
bool operator!=(QChar ch, QLatin1String s)
bool operator!=(QLatin1String s, QChar ch)
bool operator!=(QStringView s1, QLatin1String s2)
bool operator!=(QLatin1String s1, QStringView s2)
bool operator!=(const char *s1, QLatin1String s2)
bool operator<(QLatin1String s1, QLatin1String s2)
bool operator<(QChar ch, QLatin1String s)
bool operator<(QLatin1String s, QChar ch)
bool operator<(QStringView s1, QLatin1String s2)
bool operator<(QLatin1String s1, QStringView s2)
bool operator<(const char *s1, QLatin1String s2)
bool operator<=(QLatin1String s1, QLatin1String s2)
bool operator<=(QChar ch, QLatin1String s)
bool operator<=(QLatin1String s, QChar ch)
bool operator<=(QStringView s1, QLatin1String s2)
bool operator<=(QLatin1String s1, QStringView s2)
bool operator<=(const char *s1, QLatin1String s2)
bool operator==(QLatin1String s1, QLatin1String s2)
bool operator==(QChar ch, QLatin1String s)
bool operator==(QLatin1String s, QChar ch)
bool operator==(QStringView s1, QLatin1String s2)
bool operator==(QLatin1String s1, QStringView s2)
bool operator==(const char *s1, QLatin1String s2)
bool operator>(QLatin1String s1, QLatin1String s2)
bool operator>(QChar ch, QLatin1String s)
bool operator>(QLatin1String s, QChar ch)
bool operator>(QStringView s1, QLatin1String s2)
bool operator>(QLatin1String s1, QStringView s2)
bool operator>(const char *s1, QLatin1String s2)
bool operator>=(QLatin1String s1, QLatin1String s2)
bool operator>=(QChar ch, QLatin1String s)
bool operator>=(QLatin1String s, QChar ch)
bool operator>=(QStringView s1, QLatin1String s2)
bool operator>=(QLatin1String s1, QStringView s2)
bool operator>=(const char *s1, QLatin1String s2)

Detailed Description

Many of QString's member functions are overloaded to accept const char * instead of QString. This includes the copy constructor, the assignment operator, the comparison operators, and various other functions such as insert(), append(), and prepend(). Some of these functions are optimized to avoid constructing a QString object for the const char * data. For example, assuming str is a QString,

if (str == "auto" || str == "extern"
        || str == "static" || str == "register") {
    ...
}

is much faster than

if (str == QString("auto") || str == QString("extern")
        || str == QString("static") || str == QString("register")) {
    ...
}

because it doesn't construct four temporary QString objects and make a deep copy of the character data.

However, that is not true for all QString member functions that take const char * and therefore applications should assume a temporary will be created, such as in

str.append("Hello ").append("World");

Applications that define QT_NO_CAST_FROM_ASCII (as explained in the QString documentation) don't have access to QString's const char * API. To provide an efficient way of specifying constant Latin-1 strings, Qt provides the QLatin1String, which is just a very thin wrapper around a const char *. Using QLatin1String, the example code above becomes

if (str == QLatin1String("auto")
        || str == QLatin1String("extern")
        || str == QLatin1String("static")
        || str == QLatin1String("register") {
    ...
}

This is a bit longer to type, but it provides exactly the same benefits as the first version of the code, and is faster than converting the Latin-1 strings using QString::fromLatin1().

Thanks to the QString(QLatin1String) constructor, QLatin1String can be used everywhere a QString is expected. For example:

QLabel *label = new QLabel(QLatin1String("MOD"), this);

Note: If the function you're calling with a QLatin1String argument isn't actually overloaded to take QLatin1String, the implicit conversion to QString will trigger a memory allocation, which is usually what you want to avoid by using QLatin1String in the first place. In those cases, using QStringLiteral may be the better option.

See also QString, QLatin1Char, QStringLiteral, and QT_NO_CAST_FROM_ASCII.

Member Type Documentation

[alias, since 5.10] QLatin1String::const_iterator

This typedef was introduced in Qt 5.10.

See also iterator and const_reverse_iterator.

[alias, since 5.11] QLatin1String::const_reference

Alias for reference. Provided for compatibility with the STL.

This typedef was introduced in Qt 5.11.

[alias, since 5.10] QLatin1String::const_reverse_iterator

This typedef was introduced in Qt 5.10.

See also reverse_iterator and const_iterator.

[alias, since 5.10] QLatin1String::difference_type

Alias for qsizetype. Provided for compatibility with the STL.

This typedef was introduced in Qt 5.10.

[alias, since 5.10] QLatin1String::iterator

QLatin1String does not support mutable iterators, so this is the same as const_iterator.

This typedef was introduced in Qt 5.10.

See also const_iterator and reverse_iterator.

[alias, since 5.10] QLatin1String::reference

Alias for value_type &. Provided for compatibility with the STL.

This typedef was introduced in Qt 5.10.

[alias, since 5.10] QLatin1String::reverse_iterator

QLatin1String does not support mutable reverse iterators, so this is the same as const_reverse_iterator.

This typedef was introduced in Qt 5.10.

See also const_reverse_iterator and iterator.

[alias, since 5.10] QLatin1String::size_type

Alias for qsizetype. Provided for compatibility with the STL.

Note: In version prior to Qt 6, this was an alias for int, restricting the amount of data that could be held in a QLatin1String on 64-bit architectures.

This typedef was introduced in Qt 5.10.

[alias, since 5.10] QLatin1String::value_type

Alias for const char. Provided for compatibility with the STL.

This typedef was introduced in Qt 5.10.

Member Function Documentation

[since 6.0] template <typename Needle, typename Flags> decltype(qTokenize(*this, std::forward<Needle>(needle), flags...)) QLatin1String::tokenize(Needle &&sep, Flags... flags) const

Splits the string into substring views wherever sep occurs, and returns a lazy sequence of those strings.

Equivalent to

return QStringTokenizer{std::forward<Needle>(sep), flags...};

except it works without C++17 Class Template Argument Deduction (CTAD) enabled in the compiler.

See QStringTokenizer for how sep and flags interact to form the result.

Note: While this function returns QStringTokenizer, you should never, ever, name its template arguments explicitly. If you can use C++17 Class Template Argument Deduction (CTAD), you may write

QStringTokenizer result = sv.tokenize(sep);

(without template arguments). If you can't use C++17 CTAD, you must store the return value only in auto variables:

auto result = sv.tokenize(sep);

This is because the template arguments of QStringTokenizer have a very subtle dependency on the specific tokenize() overload from which they are returned, and they don't usually correspond to the type used for the separator.

This function was introduced in Qt 6.0.

See also QStringTokenizer and qTokenize().

[since 5.14] template <typename Args> QString QLatin1String::arg(Args &&... args) const

Replaces occurrences of %N in this string with the corresponding argument from args. The arguments are not positional: the first of the args replaces the %N with the lowest N (all of them), the second of the args the %N with the next-lowest N etc.

Args can consist of anything that implicitly converts to QString, QStringView or QLatin1String.

In addition, the following types are also supported: QChar, QLatin1Char.

This function was introduced in Qt 5.14.

See also QString::arg().

[since 6.2] qsizetype QLatin1String::lastIndexOf(QLatin1String l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[since 6.2] qsizetype QLatin1String::lastIndexOf(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

This function overloads lastIndexOf().

Returns the index position of the last occurrence of the string-view str or Latin-1 string l1, respectively, in this Latin-1 string. Returns -1 if str is not found.

If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.

This function was introduced in Qt 6.2.

[since 5.14] qsizetype QLatin1String::lastIndexOf(QChar c, qsizetype from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[since 5.14] qsizetype QLatin1String::lastIndexOf(QLatin1String l1, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[since 5.14] qsizetype QLatin1String::lastIndexOf(QStringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

Returns the index position of the last occurrence of the string-view str, Latin-1 string l1, or character ch, respectively, in this Latin-1 string, searching backward from index position from. Returns -1 if str is not found.

If from is -1, the search starts at the last character; if from is -2, at the next to last character and so on.

If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.

Note: When searching for a 0-length str or l1, the match at the end of the data is excluded from the search by a negative from, even though -1 is normally thought of as searching from the end of the string: the match at the end is after the last character, so it is excluded. To include such a final empty match, either give a positive value for from or omit the from parameter entirely.

This function was introduced in Qt 5.14.

See also indexOf(), QStringView::lastIndexOf(), QStringView::indexOf(), and QString::indexOf().

[since 5.14] bool QLatin1String::contains(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[since 5.14] bool QLatin1String::contains(QLatin1String l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[since 5.14] bool QLatin1String::contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

Returns true if this Latin-1 string contains an occurrence of the string-view str, Latin-1 string l1, or character ch; otherwise returns false.

If cs is Qt::CaseSensitive (the default), the search is case-sensitive; otherwise the search is case-insensitive.

This function was introduced in Qt 5.14.

See also indexOf(), QStringView::contains(), QStringView::indexOf(), and QString::indexOf().

[since 5.14] qsizetype QLatin1String::indexOf(QChar c, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[since 5.14] qsizetype QLatin1String::indexOf(QLatin1String l1, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[since 5.14] qsizetype QLatin1String::indexOf(QStringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

Returns the index position of the first occurrence of the string-view str, Latin-1 string l1, or character ch, respectively, in this Latin-1 string, searching forward from index position from. Returns -1 if str is not found.

If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.

If from is -1, the search starts at the last character; if it is -2, at the next to last character and so on.

This function was introduced in Qt 5.14.

See also QString::indexOf().

[since 5.10] bool QLatin1String::endsWith(QChar ch) const

[since 5.10] bool QLatin1String::endsWith(QChar ch, Qt::CaseSensitivity cs) const

[since 5.10] bool QLatin1String::endsWith(QLatin1String l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[since 5.10] bool QLatin1String::endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

Returns true if this Latin-1 string ends with string-view str, Latin-1 string l1, or character ch, respectively; otherwise returns false.

If cs is Qt::CaseSensitive (the default), the search is case-sensitive; otherwise the search is case-insensitive.

This function was introduced in Qt 5.10.

See also startsWith().

[since 5.10] bool QLatin1String::startsWith(QChar ch) const

[since 5.10] bool QLatin1String::startsWith(QChar ch, Qt::CaseSensitivity cs) const

[since 5.10] bool QLatin1String::startsWith(QLatin1String l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[since 5.10] bool QLatin1String::startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

Returns true if this Latin-1 string starts with string-view str, Latin-1 string l1, or character ch, respectively; otherwise returns false.

If cs is Qt::CaseSensitive (the default), the search is case-sensitive; otherwise the search is case-insensitive.

This function was introduced in Qt 5.10.

See also endsWith().

[since 5.14] int QLatin1String::compare(QChar ch) const

[since 5.14] int QLatin1String::compare(QChar ch, Qt::CaseSensitivity cs) const

[since 5.14] int QLatin1String::compare(QLatin1String l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[since 5.14] int QLatin1String::compare(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

Returns an integer that compares to zero as this Latin-1 string compares to the string-view str, Latin-1 string l1, or character ch, respectively.

If cs is Qt::CaseSensitive (the default), the comparison is case sensitive; otherwise the comparison is case-insensitive.

This function was introduced in Qt 5.14.

See also operator==(), operator<(), and operator>().

[default, since 6.3] QLatin1String::QLatin1String(QByteArrayView str)

Constructs a QLatin1String object that stores str.

The string data is not copied. The caller must be able to guarantee that the data which str is pointing to will not be deleted or modified as long as the QLatin1String object exists. The size is obtained from str as-is, without checking for a null-terminator.

Note: : any null ('\0') bytes in the byte array will be included in this string, which will be converted to Unicode null characters (U+0000) if this string is used by QString.

This function was introduced in Qt 6.3.

See also latin1().

QLatin1String::QLatin1String(const QByteArray &str)

Constructs a QLatin1String object that stores str.

The string data is not copied. The caller must be able to guarantee that str will not be deleted or modified as long as the QLatin1String object exists.

See also latin1().

QLatin1String::QLatin1String(const char *str, qsizetype size)

Constructs a QLatin1String object that stores str with size.

The string data is not copied. The caller must be able to guarantee that str will not be deleted or modified as long as the QLatin1String object exists.

Note: : any null ('\0') bytes in the byte array will be included in this string, which will be converted to Unicode null characters (U+0000) if this string is used by QString. This behavior is different from Qt 5.x.

See also latin1().

[since 5.10] QLatin1String::QLatin1String(const char *first, const char *last)

Constructs a QLatin1String object that stores first with length (last - first).

The range [first,last) must remain valid for the lifetime of this Latin-1 string object.

Passing nullptr as first is safe if last is nullptr, too, and results in a null Latin-1 string.

The behavior is undefined if last precedes first, first is nullptr and last is not, or if last - first > INT_MAX.

This function was introduced in Qt 5.10.

QLatin1String::QLatin1String(const char *str)

Constructs a QLatin1String object that stores str.

The string data is not copied. The caller must be able to guarantee that str will not be deleted or modified as long as the QLatin1String object exists.

See also latin1().

[since 5.6] QLatin1String::QLatin1String()

Constructs a QLatin1String object that stores a nullptr.

This function was introduced in Qt 5.6.

[since 5.8] QLatin1Char QLatin1String::at(qsizetype pos) const

Returns the character at position pos in this object.

Note: This function performs no error checking. The behavior is undefined when pos < 0 or pos >= size().

This function was introduced in Qt 5.8.

See also operator[]().

[since 5.10] QLatin1Char QLatin1String::back() const

Returns the last character in the string. Same as at(size() - 1).

This function is provided for STL compatibility.

Warning: Calling this function on an empty string constitutes undefined behavior.

This function was introduced in Qt 5.10.

See also front(), at(), and operator[]().

[since 5.10] QLatin1String::const_iterator QLatin1String::begin() const

Returns a const STL-style iterator pointing to the first character in the string.

This function is provided for STL compatibility.

This function was introduced in Qt 5.10.

See also end(), cbegin(), rbegin(), and data().

[since 5.10] QLatin1String::const_iterator QLatin1String::cbegin() const

Same as begin().

This function is provided for STL compatibility.

This function was introduced in Qt 5.10.

See also cend(), begin(), crbegin(), and data().

[since 5.10] QLatin1String::const_iterator QLatin1String::cend() const

Same as end().

This function is provided for STL compatibility.

This function was introduced in Qt 5.10.

See also cbegin(), end(), and crend().

[since 5.10] void QLatin1String::chop(qsizetype length)

Truncates this string by length characters.

Same as *this = left(size() - length).

Note: The behavior is undefined when length < 0 or length > size().

This function was introduced in Qt 5.10.

See also sliced(), first(), last(), chopped(), and truncate().

[since 5.10] QLatin1String QLatin1String::chopped(qsizetype length) const

Returns the substring of length size() - length starting at the beginning of this object.

Same as left(size() - length).

Note: The behavior is undefined when length < 0 or length > size().

This function was introduced in Qt 5.10.

See also sliced(), first(), last(), chop(), and truncate().

[since 5.10] QLatin1String::const_reverse_iterator QLatin1String::crbegin() const

Same as rbegin().

This function is provided for STL compatibility.

This function was introduced in Qt 5.10.

See also crend(), rbegin(), and cbegin().

[since 5.10] QLatin1String::const_reverse_iterator QLatin1String::crend() const

Same as rend().

This function is provided for STL compatibility.

This function was introduced in Qt 5.10.

See also crbegin(), rend(), and cend().

const char *QLatin1String::data() const

Returns the Latin-1 string stored in this object.

[since 5.10] QLatin1String::const_iterator QLatin1String::end() const

Returns a const STL-style iterator pointing just after the last character in the string.

This function is provided for STL compatibility.

This function was introduced in Qt 5.10.

See also begin(), cend(), and rend().

[since 6.0] QLatin1String QLatin1String::first(qsizetype n) const

Returns a Latin-1 string that contains the first n characters of this Latin-1 string.

Note: The behavior is undefined when n < 0 or n > size().

This function was introduced in Qt 6.0.

See also last(), startsWith(), chopped(), chop(), and truncate().

[since 5.10] QLatin1Char QLatin1String::front() const

Returns the first character in the string. Same as at(0).

This function is provided for STL compatibility.

Warning: Calling this function on an empty string constitutes undefined behavior.

This function was introduced in Qt 5.10.

See also back(), at(), and operator[]().

[since 5.10] bool QLatin1String::isEmpty() const

Returns whether the Latin-1 string stored in this object is empty (size() == 0) or not.

This function was introduced in Qt 5.10.

See also isNull() and size().

[since 5.10] bool QLatin1String::isNull() const

Returns whether the Latin-1 string stored in this object is null (data() == nullptr) or not.

This function was introduced in Qt 5.10.

See also isEmpty() and data().

[since 6.0] QLatin1String QLatin1String::last(qsizetype n) const

Returns a Latin-1 string that contains the last n characters of this Latin-1 string.

Note: The behavior is undefined when n < 0 or n > size().

This function was introduced in Qt 6.0.

See also first(), endsWith(), chopped(), chop(), and truncate().

const char *QLatin1String::latin1() const

Returns the Latin-1 string stored in this object.

[since 5.8] QLatin1String QLatin1String::left(qsizetype length) const

If you know that length cannot be out of bounds, use first() instead in new code, because it is faster.

Returns the substring of length length starting at position 0 in this Latin-1 string.

The entire Latin-1 string is returned if length is greater than or equal to size(), or less than zero.

This function was introduced in Qt 5.8.

See also first(), last(), sliced(), startsWith(), chopped(), chop(), and truncate().

[since 5.8] QLatin1String QLatin1String::mid(qsizetype start, qsizetype length = -1) const

Returns the substring of length length starting at position start in this Latin-1 string.

If you know that start and length cannot be out of bounds, use sliced() instead in new code, because it is faster.

Returns an empty Latin-1 string if start exceeds the length of this Latin-1 string. If there are less than length characters available in this Latin-1 string starting at start, or if length is negative (default), the function returns all characters that are available from start.

This function was introduced in Qt 5.8.

See also first(), last(), sliced(), chopped(), chop(), and truncate().

[since 5.10] QLatin1String::const_reverse_iterator QLatin1String::rbegin() const

Returns a const STL-style reverse iterator pointing to the first character in the string, in reverse order.

This function is provided for STL compatibility.

This function was introduced in Qt 5.10.

See also rend(), crbegin(), and begin().

[since 5.10] QLatin1String::const_reverse_iterator QLatin1String::rend() const

Returns a STL-style reverse iterator pointing just after the last character in the string, in reverse order.

This function is provided for STL compatibility.

This function was introduced in Qt 5.10.

See also rbegin(), crend(), and end().

If you know that length cannot be out of bounds, use last() instead in new code, because it is faster.

Returns the substring of length length starting at position size() - length in this Latin-1 string.

The entire Latin-1 string is returned if length is greater than or equal to size(), or less than zero.

This function was introduced in Qt 5.8.

See also first(), last(), sliced(), endsWith(), chopped(), chop(), and truncate().

qsizetype QLatin1String::size() const

Returns the size of the Latin-1 string stored in this object.

Note: In version prior to Qt 6, this function returned int, restricting the amount of data that could be held in a QLatin1String on 64-bit architectures.

[since 6.0] QLatin1String QLatin1String::sliced(qsizetype pos) const

Returns a Latin-1 string starting at position pos in this Latin-1 string, and extending to its end.

Note: The behavior is undefined when pos < 0 or pos > size().

This function was introduced in Qt 6.0.

See also first(), last(), chopped(), chop(), and truncate().

[since 6.0] QLatin1String QLatin1String::sliced(qsizetype pos, qsizetype n) const

Returns a Latin-1 string that points to n characters of this Latin-1 string, starting at position pos.

Note: The behavior is undefined when pos < 0, n < 0, or pos + n > size().

This function was introduced in Qt 6.0.

See also first(), last(), chopped(), chop(), and truncate().

[since 6.0] QString QLatin1String::toString() const

Converts this Latin-1 string into a QString. Equivalent to

return QString(*this);

This function was introduced in Qt 6.0.

[since 5.10] QLatin1String QLatin1String::trimmed() const

Strips leading and trailing whitespace and returns the result.

Whitespace means any character for which QChar::isSpace() returns true. This includes the ASCII characters '\t', '\n', '\v', '\f', '\r', and ' '.

This function was introduced in Qt 5.10.

[since 5.10] void QLatin1String::truncate(qsizetype length)

Truncates this string to length length.

Same as *this = left(length).

Note: The behavior is undefined when length < 0 or length > size().

This function was introduced in Qt 5.10.

See also sliced(), first(), last(), chopped(), and chop().

bool QLatin1String::operator!=(const char *other) const

Returns true if this string is not equal to const char pointer other; otherwise returns false.

The other const char pointer is converted to a QString using the QString::fromUtf8() function.

You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. This can be useful if you want to ensure that all user-visible strings go through QObject::tr(), for example.

See also Comparing Strings.

[since 5.0] bool QLatin1String::operator!=(const QByteArray &other) const

This function overloads operator!=().

The other byte array is converted to a QString using the QString::fromUtf8() function.

You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. This can be useful if you want to ensure that all user-visible strings go through QObject::tr(), for example.

This function was introduced in Qt 5.0.

bool QLatin1String::operator<(const char *other) const

Returns true if this string is lexically less than const char pointer other; otherwise returns false.

The other const char pointer is converted to a QString using the QString::fromUtf8() function.

You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. This can be useful if you want to ensure that all user-visible strings go through QObject::tr(), for example.

See also Comparing Strings.

[since 5.0] bool QLatin1String::operator<(const QByteArray &other) const

This is an overloaded function.

The other byte array is converted to a QString using the QString::fromUtf8() function.

You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. This can be useful if you want to ensure that all user-visible strings go through QObject::tr(), for example.

This function was introduced in Qt 5.0.

bool QLatin1String::operator<=(const char *other) const

Returns true if this string is lexically less than or equal to const char pointer other; otherwise returns false.

The other const char pointer is converted to a QString using the QString::fromUtf8() function.

You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. This can be useful if you want to ensure that all user-visible strings go through QObject::tr(), for example.

See also Comparing Strings.

[since 5.0] bool QLatin1String::operator<=(const QByteArray &other) const

This is an overloaded function.

The other byte array is converted to a QString using the QString::fromUtf8() function.

You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. This can be useful if you want to ensure that all user-visible strings go through QObject::tr(), for example.

This function was introduced in Qt 5.0.

bool QLatin1String::operator==(const char *other) const

Returns true if the string is equal to const char pointer other; otherwise returns false.

The other const char pointer is converted to a QString using the QString::fromUtf8() function.

You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. This can be useful if you want to ensure that all user-visible strings go through QObject::tr(), for example.

See also Comparing Strings.

[since 5.0] bool QLatin1String::operator==(const QByteArray &other) const

This is an overloaded function.

The other byte array is converted to a QString using the QString::fromUtf8() function.

You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. This can be useful if you want to ensure that all user-visible strings go through QObject::tr(), for example.

This function was introduced in Qt 5.0.

bool QLatin1String::operator>(const char *other) const

Returns true if this string is lexically greater than const char pointer other; otherwise returns false.

The other const char pointer is converted to a QString using the QString::fromUtf8() function.

You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. This can be useful if you want to ensure that all user-visible strings go through QObject::tr(), for example.

See also Comparing Strings.

[since 5.0] bool QLatin1String::operator>(const QByteArray &other) const

This is an overloaded function.

The other byte array is converted to a QString using the QString::fromUtf8() function.

You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. This can be useful if you want to ensure that all user-visible strings go through QObject::tr(), for example.

This function was introduced in Qt 5.0.

bool QLatin1String::operator>=(const char *other) const

Returns true if this string is lexically greater than or equal to const char pointer other; otherwise returns false.

The other const char pointer is converted to a QString using the QString::fromUtf8() function.

You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. This can be useful if you want to ensure that all user-visible strings go through QObject::tr(), for example.

See also Comparing Strings.

[since 5.0] bool QLatin1String::operator>=(const QByteArray &other) const

This is an overloaded function.

The other byte array is converted to a QString using the QString::fromUtf8() function.

You can disable this operator by defining QT_NO_CAST_FROM_ASCII when you compile your applications. This can be useful if you want to ensure that all user-visible strings go through QObject::tr(), for example.

This function was introduced in Qt 5.0.

[since 5.8] QLatin1Char QLatin1String::operator[](qsizetype pos) const

Returns the character at position pos in this object.

Note: This function performs no error checking. The behavior is undefined when pos < 0 or pos >= size().

This function was introduced in Qt 5.8.

See also at().

Related Non-Members

bool operator!=(QLatin1String s1, QLatin1String s2)

Returns true if string s1 is lexically not equal to string s2; otherwise returns false.

bool operator!=(QChar ch, QLatin1String s)

Returns true if char ch is lexically not equal to string s; otherwise returns false.

bool operator!=(QLatin1String s, QChar ch)

Returns true if string s is lexically not equal to char ch; otherwise returns false.

bool operator!=(QStringView s1, QLatin1String s2)

Returns true if string view s1 is lexically not equal to string s2; otherwise returns false.

bool operator!=(QLatin1String s1, QStringView s2)

Returns true if string s1 is lexically not equal to string view s2; otherwise returns false.

bool operator!=(const char *s1, QLatin1String s2)

Returns true if const char pointer s1 is lexically not equal to string s2; otherwise returns false.

bool operator<(QLatin1String s1, QLatin1String s2)

Returns true if string s1 is lexically less than string s2; otherwise returns false.

bool operator<(QChar ch, QLatin1String s)

Returns true if char ch is lexically less than string s; otherwise returns false.

bool operator<(QLatin1String s, QChar ch)

Returns true if string s is lexically less than char ch; otherwise returns false.

bool operator<(QStringView s1, QLatin1String s2)

Returns true if string view s1 is lexically less than string s2; otherwise returns false.

bool operator<(QLatin1String s1, QStringView s2)

Returns true if string s1 is lexically less than string view s2; otherwise returns false.

bool operator<(const char *s1, QLatin1String s2)

Returns true if const char pointer s1 is lexically less than string s2; otherwise returns false.

bool operator<=(QLatin1String s1, QLatin1String s2)

Returns true if string s1 is lexically less than or equal to string s2; otherwise returns false.

bool operator<=(QChar ch, QLatin1String s)

Returns true if char ch is lexically less than or equal to string s; otherwise returns false.

bool operator<=(QLatin1String s, QChar ch)

Returns true if string s is lexically less than or equal to char ch; otherwise returns false.

bool operator<=(QStringView s1, QLatin1String s2)

Returns true if string view s1 is lexically less than or equal to string s2; otherwise returns false.

bool operator<=(QLatin1String s1, QStringView s2)

Returns true if string s1 is lexically less than or equal to string view s2; otherwise returns false.

bool operator<=(const char *s1, QLatin1String s2)

Returns true if const char pointer s1 is lexically less than or equal to string s2; otherwise returns false.

bool operator==(QLatin1String s1, QLatin1String s2)

Returns true if string s1 is lexically equal to string s2; otherwise returns false.

bool operator==(QChar ch, QLatin1String s)

Returns true if char ch is lexically equal to string s; otherwise returns false.

bool operator==(QLatin1String s, QChar ch)

Returns true if string s is lexically equal to char ch; otherwise returns false.

bool operator==(QStringView s1, QLatin1String s2)

Returns true if string view s1 is lexically equal to string s2; otherwise returns false.

bool operator==(QLatin1String s1, QStringView s2)

Returns true if string s1 is lexically equal to string view s2; otherwise returns false.

bool operator==(const char *s1, QLatin1String s2)

Returns true if const char pointer s1 is lexically equal to string s2; otherwise returns false.

bool operator>(QLatin1String s1, QLatin1String s2)

Returns true if string s1 is lexically greater than string s2; otherwise returns false.

bool operator>(QChar ch, QLatin1String s)

Returns true if char ch is lexically greater than string s; otherwise returns false.

bool operator>(QLatin1String s, QChar ch)

Returns true if string s is lexically greater than char ch; otherwise returns false.

bool operator>(QStringView s1, QLatin1String s2)

Returns true if string view s1 is lexically greater than string s2; otherwise returns false.

bool operator>(QLatin1String s1, QStringView s2)

Returns true if string s1 is lexically greater than string view s2; otherwise returns false.

bool operator>(const char *s1, QLatin1String s2)

Returns true if const char pointer s1 is lexically greater than string s2; otherwise returns false.

bool operator>=(QLatin1String s1, QLatin1String s2)

Returns true if string s1 is lexically greater than or equal to string s2; otherwise returns false.

bool operator>=(QChar ch, QLatin1String s)

Returns true if char ch is lexically greater than or equal to string s; otherwise returns false.

bool operator>=(QLatin1String s, QChar ch)

Returns true if string s is lexically greater than or equal to char ch; otherwise returns false.

bool operator>=(QStringView s1, QLatin1String s2)

Returns true if string view s1 is lexically greater than or equal to string s2; otherwise returns false.

bool operator>=(QLatin1String s1, QStringView s2)

Returns true if string s1 is lexically greater than or equal to string view s2; otherwise returns false.

bool operator>=(const char *s1, QLatin1String s2)

Returns true if const char pointer s1 is lexically greater than or equal to string s2; otherwise returns false.

© 2024 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.