QUtf8StringView Class
QUtf8StringView 클래스는 QString API의 읽기 전용 하위 집합을 사용하여 UTF-8 문자열에 대한 통합된 뷰를 제공합니다. 더 보기...
| 헤더: | #include <QUtf8StringView> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| 다음부터: | Qt 6.0부터 |
- 상속된 멤버를 포함한 모든 멤버 목록
- 사용 중단된 멤버
- QUtf8StringView는 문자열 데이터용 클래스의 일부입니다.
참고: 이 클래스의 모든 함수는 재진입 가능합니다.
QUtf8StringView 비교
| 범주 | 비교 가능한 유형 | 설명 |
|---|---|---|
| strong | QUtf8StringView | |
| strong | char16_t, QChar, const char16_t *, QString, QStringView 및 QLatin1StringView. | |
| strong | const char *, QByteArray 및 QByteArrayView. | 바이트 배열의 내용은 UTF-8로 해석됩니다. |
공개 유형
| const_iterator | |
| const_pointer | |
| const_reference | |
| const_reverse_iterator | |
| difference_type | |
| iterator | |
| pointer | |
| reference | |
| reverse_iterator | |
| size_type | |
| storage_type | |
| value_type |
공개 함수
| QUtf8StringView() | |
| QUtf8StringView(const Char (&string)[N]) | |
| QUtf8StringView(const Char *str) | |
| QUtf8StringView(const Container &str) | |
| QUtf8StringView(std::nullptr_t) | |
| QUtf8StringView(const Char *first, const Char *last) | |
| QUtf8StringView(const Char *str, qsizetype len) | |
(since 6.9) QString | arg(Args &&... args) const |
| QUtf8StringView::storage_type | at(qsizetype n) const |
| QUtf8StringView::storage_type | back() const |
| QUtf8StringView::const_iterator | begin() const |
| QUtf8StringView::const_iterator | cbegin() const |
| QUtf8StringView::const_iterator | cend() const |
| void | chop(qsizetype n) |
| QUtf8StringView | chopped(qsizetype n) const |
(since 6.5) int | compare(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.5) int | compare(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.5) int | compare(QUtf8StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QUtf8StringView::const_reverse_iterator | crbegin() const |
| QUtf8StringView::const_reverse_iterator | crend() const |
| QUtf8StringView::const_pointer | data() const |
| bool | empty() const |
| QUtf8StringView::const_iterator | end() const |
| QUtf8StringView | first(qsizetype n) const |
| QUtf8StringView::storage_type | front() const |
| bool | isEmpty() const |
| bool | isNull() const |
(since 6.3) bool | isValidUtf8() const |
| QUtf8StringView | last(qsizetype n) const |
| qsizetype | length() const |
(since 6.8) qsizetype | max_size() const |
| QUtf8StringView::const_reverse_iterator | rbegin() const |
| QUtf8StringView::const_reverse_iterator | rend() const |
| qsizetype | size() const |
(since 6.8) QUtf8StringView & | slice(qsizetype pos, qsizetype n) |
(since 6.8) QUtf8StringView & | slice(qsizetype pos) |
| QUtf8StringView | sliced(qsizetype pos) const |
| QUtf8StringView | sliced(qsizetype pos, qsizetype n) const |
| QString | toString() const |
| void | truncate(qsizetype n) |
| const char8_t * | utf8() const |
(since 6.7) | operator std::string_view() const |
(since 6.10) | operator std::u8string_view() const |
| QUtf8StringView::storage_type | operator[](qsizetype n) const |
정적 공용 멤버
자세한 설명
QUtf8StringView는 자신이 소유하지 않은 UTF-8 문자열의 연속된 부분을 참조합니다. 이 클래스는 먼저 QString 이나 QByteArray 을 생성할 필요 없이 모든 종류의 UTF-8 문자열에 대한 인터페이스 유형으로 작동합니다.
UTF-8 문자열은 char8_t, char, signed char 또는 unsigned char 의 배열(또는 std::basic_string 등과 같은 배열 호환 데이터 구조)로 표현될 수 있습니다.
QUtf8StringView는 인터페이스 유형으로 설계되었으며, 주로 함수 매개변수 유형으로 사용됩니다. QUtf8StringView를 자동 변수나 데이터 멤버로 사용할 때는, 문자열 뷰가 삭제된 데이터를 참조하는 상황이 발생하지 않도록 모든 코드 경로에서 참조되는 문자열 데이터(예: std::u8string이 소유한 데이터)가 QUtf8StringView보다 오래 유지되도록 주의해야 합니다.
인터페이스 유형으로 사용될 때, QUtf8StringView를 사용하면 단일 함수가 매우 다양한 UTF-8 문자열 데이터 소스를 받아들일 수 있습니다. 따라서 QUtf8StringView를 받아들이는 하나의 함수는 여러 함수 오버로드(예: QByteArray)를 대체하는 동시에, u8"Hello World", char8_t (C++20) 또는 char (C++17) 문자열 리터럴과 같은 더 많은 문자열 데이터 소스를 함수에 전달할 수 있게 해줍니다. QUtf8StringView를 사용하면 C++17과 C++20 간의 char8_t 비호환성 문제가 해소됩니다.
모든 뷰와 마찬가지로, QUtf8StringView도 const 참조가 아닌 값으로 전달되어야 합니다:
void myfun1(QUtf8StringView sv); // preferred
void myfun2(const QUtf8StringView &sv); // compiles and works, but slower사용자가 함수에 전달할 수 있는 문자열의 종류에 대해 최대한의 자유를 부여하고 싶다면, 대신 ` QAnyStringView `를 사용하는 것을 고려해 보십시오.
QUtf8StringView는 함수의 반환값으로도 사용할 수 있습니다. QUtf8StringView를 반환하는 함수를 호출할 경우, 함수가 참조하는 문자열 데이터를 유지하겠다고 약속한 기간보다 더 오래 QUtf8StringView를 유지하지 않도록 각별히 주의해야 합니다. 확실하지 않은 경우, toString()를 호출하여 QUtf8StringView를 QString 로 변환함으로써 데이터에 대한 강력한 참조를 확보하십시오.
QUtf8StringView는 리터럴 유형입니다.
호환되는 문자 유형
QUtf8StringView는 다양한 문자 유형의 문자열을 허용합니다:
char(부호 있는 및 부호 없는 모두)char8_t(C++20 전용)
크기 및 부분 문자열
QUtf8StringView 함수에서 사용되는 모든 크기와 위치는 UTF-8 코드 포인트 단위로 표시됩니다(즉, UTF-8 멀티바이트 시퀀스는 길이에 따라 2, 3 또는 4로 계산됩니다). QUtf8StringView는 UTF-8 멀티바이트 시퀀스를 가로지르는 슬라이싱을 감지하거나 방지하려고 시도하지 않습니다. 이는 QStringView 와 서로게이트 쌍의 경우와 유사합니다.
C++20, char8_t 및 QUtf8StringView
C++20에서 u8"" 문자열 리터럴의 유형이 const char[] 에서 const char8_t[] 로 변경되었습니다. Qt 6이 C++20에 의존할 수 있었다면, QUtf8StringView는 char8_t 를 네이티브로 저장했을 것이며, 다음 함수 및 별칭은 char8_t(또는 그 포인터)를 사용했을 것입니다:
- storage_type, value_type 등
- begin(), end(), data() 등
- front(), back(), at(), operator[]()
이것이 Qt 7에서 QUtf8StringView가 갖춰야 할 모습이지만, Qt 6에서는 이것이 불가능했습니다. 향후 10년 동안 사용자를 C++17 시대의 인터페이스에 얽매이게 하는 대신, Qt는 서로 다른 (인라인) 네임스페이스에 두 개의 QUtf8StringView 클래스를 제공합니다. 첫 번째 클래스는 q_no_char8_t 네임스페이스에 있으며, value_type 이 const char 이고 모든 환경에서 사용할 수 있습니다. 두 번째 클래스는 q_has_char8_t 네임스페이스에 있으며, value_type 이 const char8_t 이고 C++20 모드로 컴파일할 때만 사용할 수 있습니다.
q_no_char8_t char8_t 는 의도치 않은 바이너리 비호환성을 방지하기 위해 C++ 버전에 관계없이 인라인 네임스페이스로 정의되어 있습니다. 버전을 사용하려면 로 명시적으로 지정해야 합니다. q_has_char8_t::QUtf8StringView
내부적으로는 두 가지 모두 동일한 템플릿 클래스인 `QBasicUtf8StringView`의 인스턴스화입니다. 소스 코드에서 이 템플릿 클래스의 이름을 사용하지 마십시오.
QAnyStringView, QStringView, QLatin1StringView 및 QString도 참조하십시오 .
멤버 유형 문서
QUtf8StringView::const_iterator
이 typedef는 ` QUtf8StringView`에 대한 STL 스타일의 const 이터레이터를 제공합니다.
iterator 및 const_reverse_iterator도 참조하십시오 .
QUtf8StringView::const_pointer
value_type * 의 별칭입니다. STL과의 호환성을 위해 제공됩니다.
QUtf8StringView::const_reference
value_type & 의 별칭입니다. STL과의 호환성을 위해 제공됩니다.
QUtf8StringView::const_reverse_iterator
이 typedef는 ` QUtf8StringView`에 대해 STL 스타일의 const 역방향 이터레이터를 제공합니다.
reverse_iterator 및 const_iterator도 참조하십시오 .
QUtf8StringView::difference_type
std::ptrdiff_t 의 별칭입니다. STL과의 호환성을 위해 제공됩니다.
QUtf8StringView::iterator
이 typedef는 QUtf8StringView 에 대해 STL 스타일의 const 이터레이터를 제공합니다.
QUtf8StringView 변경 가능한 이터레이터를 지원하지 않으므로, 이는 const_iterator 과 동일합니다.
const_iterator 및 reverse_iterator도 참조하십시오 .
QUtf8StringView::pointer
value_type * 의 별칭입니다. STL과의 호환성을 위해 제공됩니다.
QUtf8StringView 가변 포인터를 지원하지 않으므로, 이는 const_pointer 와 동일합니다.
QUtf8StringView::reference
value_type & 의 별칭입니다. STL과의 호환성을 위해 제공됩니다.
QUtf8StringView 가변 참조를 지원하지 않으므로, 이는 const_reference 와 동일합니다.
QUtf8StringView::reverse_iterator
이 typedef는 ` QUtf8StringView`에 대해 STL 스타일의 const 역방향 이터레이터를 제공합니다.
QUtf8StringView const_reverse_iterator 는 가변 역방향 이터레이터를 지원하지 않으므로, 이는 와 동일합니다.
const_reverse_iterator 및 iterator도 참조하십시오 .
QUtf8StringView::size_type
qsizetype의 별칭입니다. STL과의 호환성을 위해 제공됩니다.
[alias] QUtf8StringView::storage_type
char 의 별칭입니다.
QUtf8StringView::value_type
const char 의 별칭입니다. STL과의 호환성을 위해 제공됩니다.
멤버 함수 문서
[constexpr noexcept] QUtf8StringView::QUtf8StringView()
빈 문자열 뷰를 생성합니다.
isNull()도 참조하십시오 .
[constexpr noexcept] template <typename Char, size_t N> QUtf8StringView::QUtf8StringView(const Char (&string)[N])
문자열 리터럴 ` string`을 기반으로 문자열 뷰를 생성합니다. 이 뷰는 첫 번째 ` Char(0) `이 나타나거나 ` N`이 발생할 때까지 배열을 포함하며, 둘 중 먼저 발생하는 시점을 기준으로 합니다. 전체 배열이 필요한 경우 대신 ` fromArray()`을 사용하십시오.
string 이 문자열 뷰 객체의 수명 기간 동안 유효해야 합니다.
제약 조건
string 가 실제 배열이고, Char 가 호환 가능한 문자 유형인 경우에만 오버로드 해결에 참여합니다. 호환 가능한 문자 유형은 다음과 같습니다: char8_t, char, signed char 및 unsigned char.
fromArray()도 참조하십시오 .
[constexpr noexcept] template <typename Char> QUtf8StringView::QUtf8StringView(const Char *str)
str 에 문자열 뷰를 생성합니다. 길이는 첫 번째 Char(0) 를 찾아 스캔하여 결정됩니다.
str 이 문자열 뷰 객체의 수명 기간 동안 유효한 상태를 유지해야 합니다.
` nullptr `을 ` str `로 전달하는 것은 안전하며, 이 경우 빈 문자열 뷰가 생성됩니다.
제약 조건
str 가 배열이 아니고 Char 가 호환 가능한 문자 유형인 경우에만 오버로드 해결에 참여합니다. 호환 가능한 문자 유형은 char8_t, char, signed char 및 unsigned char 입니다.
[constexpr noexcept] template <typename Container> requires if_compatible_container<Container> QUtf8StringView::QUtf8StringView(const Container &str)
str 에 문자열 뷰를 생성합니다. 길이는 std::size(str) 에서 가져옵니다.
std::data(str) 이 문자열 뷰 객체의 수명 기간 동안 유효해야 합니다.
std::size(str) == 0 인 경우에만 문자열 뷰가 비어 있습니다. 이 생성자가 null 문자열 뷰를 생성할 수 있는지 여부는 명시되지 않았습니다(이를 위해서는std::data(str) 가 nullptr 를 반환해야 합니다).
제약 조건
Container 가 value_type 와 호환되는 문자 유형을 가진 컨테이너인 경우에만 오버로드 해결에 참여합니다. 호환되는 문자 유형은 char8_t, char, signed char 및 unsigned char 입니다.
isNull() 및 isEmpty()도 참조하십시오 .
[constexpr noexcept] QUtf8StringView::QUtf8StringView(std::nullptr_t)
빈 문자열 뷰를 생성합니다.
isNull()도 참조하십시오 .
[constexpr] template <typename Char> requires if_compatible_char<Char> QUtf8StringView::QUtf8StringView(const Char *first, const Char *last)
first 에 길이 (last - first)인 문자열 뷰를 생성합니다.
[first,last) 범위는 이 문자열 뷰 객체의 수명 기간 동안 유효한 상태를 유지해야 합니다.
last 또한 nullptr 인 경우, \nullptr 을 first 으로 전달하는 것은 안전하며, 그 결과 null 문자열 뷰가 생성됩니다.
last 가 first 보다 앞에 오거나, first 가 nullptr 인 반면 last 가 가 아닌 경우, 동작은 정의되지 않습니다.
제약 조건
Char 가 호환 가능한 문자 유형인 경우에만 오버로드 해결에 참여합니다. 호환 가능한 문자 유형은 다음과 같습니다: char8_t, char, signed char 및 unsigned char.
[constexpr] template <typename Char> requires if_compatible_char<Char> QUtf8StringView::QUtf8StringView(const Char *str, qsizetype len)
str 에 길이 len 인 문자열 뷰를 생성합니다.
[str,len) 범위는 이 문자열 뷰 객체의 수명 기간 동안 유효해야 합니다.
len 가 0인 경우 nullptr 를 str 로 전달하는 것은 안전하며, 이 경우 null 문자열 뷰가 생성됩니다.
len 가 음수이거나, 양수인 경우 str 가 nullptr 인 경우 동작은 정의되지 않습니다.
제약 조건
Char 가 호환 가능한 문자 유형인 경우에만 오버로드 해결에 참여합니다. 호환 가능한 문자 유형은 다음과 같습니다: char8_t, char, signed char 및 unsigned char.
[since 6.9] template <typename... Args> QString QUtf8StringView::arg(Args &&... args) const
이 문자열에서 %N 가 나타나는 부분을 args 의 해당 인수로 대체합니다. 인수는 위치에 따라 구분되지 않습니다. 즉, args 의 첫 번째 인수는 %N 를 가장 낮은 N (모두)로 대체하고, args 의 두 번째 인수는 %N 를 그 다음으로 낮은 N 로 대체하는 식입니다.
Args QAnyStringView 로 암시적으로 변환되는 모든 것으로 구성될 수 있습니다.
이 함수는 Qt 6.9에서 도입되었습니다.
QString::arg(Args&&...)도 참조하십시오 .
[constexpr] QUtf8StringView::storage_type QUtf8StringView::at(qsizetype n) const
이 문자열 뷰에서 n 위치에 있는 코드 포인트를 반환합니다.
n 가 음수이거나 size()보다 크거나 같을 경우 동작이 정의되지 않습니다.
operator[](), front() 및 back()도 참조하십시오 .
[constexpr] QUtf8StringView::storage_type QUtf8StringView::back() const
문자열 뷰의 마지막 코드 포인트를 반환합니다. ` last()`와 동일합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
경고: 빈 문자열 뷰에서 이 함수를호출하면 정의되지 않은 동작이 발생합니다.
front()도 참조하십시오 .
[noexcept] QUtf8StringView::const_iterator QUtf8StringView::begin() const
문자열 뷰의 첫 번째 코드 포인트를 가리키는 const STL 스타일의 이터레이터를 반환합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
end(), cbegin(), rbegin() 및 data()도 참조하십시오 .
[noexcept] QUtf8StringView::const_iterator QUtf8StringView::cbegin() const
begin()와 동일합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
cend(), begin(), crbegin() 및 data()도 참조하십시오 .
[noexcept] QUtf8StringView::const_iterator QUtf8StringView::cend() const
end()와 동일합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
cbegin(), end() 및 crend()도 참조하십시오 .
[constexpr] void QUtf8StringView::chop(qsizetype n)
이 문자열 뷰를 n 개의 코드 포인트만큼 잘라냅니다.
*this = first(size() - n) 와 동일합니다.
참고: n < 0이거나 n > size()인 경우동작이 정의되지 않습니다.
sliced(), first(), last(), chopped(), truncate()도 참조하십시오 .
[constexpr] QUtf8StringView QUtf8StringView::chopped(qsizetype n) const
이 객체의 시작 부분부터 길이 size() - n 인 부분 문자열을 반환합니다.
first(size() - n) 와 동일합니다.
참고: n < 0이거나 n > size()인 경우동작이 정의되지 않습니다.
sliced(), first(), last(), chop(), truncate() 및 slice()도 참조하십시오 .
[noexcept, since 6.5] int QUtf8StringView::compare(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
[noexcept, since 6.5] int QUtf8StringView::compare(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
[noexcept, since 6.5] int QUtf8StringView::compare(QUtf8StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
이 문자열 뷰를 ` str `와 비교하여, 이 문자열 뷰가 ` str`보다 작으면 음의 정수를, ` str`보다 크면 양의 정수를, 둘이 같으면 0을 반환합니다.
cs 가 Qt::CaseSensitive (기본값)인 경우, 비교는 대소문자를 구분하며, 그렇지 않은 경우 대소문자를 구분하지 않습니다.
이 함수들은 Qt 6.5에서 도입되었습니다.
[noexcept] QUtf8StringView::const_reverse_iterator QUtf8StringView::crbegin() const
rbegin()와 동일합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
crend(), rbegin() 및 cbegin()도 참조하십시오 .
[noexcept] QUtf8StringView::const_reverse_iterator QUtf8StringView::crend() const
rend()와 동일합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
crbegin(), rend(), cend()도 참조하십시오 .
[constexpr noexcept] QUtf8StringView::const_pointer QUtf8StringView::data() const
문자열 뷰의 첫 번째 코드 포인트에 대한 const 포인터를 반환합니다.
참고: 반환값이 나타내는 문자 배열은 null로 끝나지 않습니다.
begin(), end() 및 utf8()도 참조하십시오 .
[constexpr noexcept] bool QUtf8StringView::empty() const
이 문자열 뷰가 비어 있는지, 즉 ` size() == 0`인지 여부를 반환합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
isEmpty(), isNull(), size(), length()도 참조하십시오 .
[noexcept] QUtf8StringView::const_iterator QUtf8StringView::end() const
목록의 마지막 코드 포인트 바로 다음의 가상의 코드 포인트를 가리키는 const STL 스타일 이터레이터를 반환합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
begin(), cend() 및 rend()도 참조하십시오 .
[constexpr] QUtf8StringView QUtf8StringView::first(qsizetype n) const
이 문자열 뷰의 처음 n 코드 포인트를 포함하는 문자열 뷰를 반환합니다.
참고: n < 0이거나 n > size()인 경우동작이 정의되지 않습니다.
last(), sliced(), chopped(), chop(), truncate() 및 slice()도 참조하십시오 .
[static constexpr noexcept] template <typename Char, size_t Size> requires if_compatible_char<Char> QUtf8StringView QUtf8StringView::fromArray(const Char (&string)[Size])
Size 개의 요소로 구성된 전체 문자열 리터럴 ` string `에 대해, 뒤쪽에 있는 ` Char(0)`을 포함하여 문자열 뷰를 생성합니다. 뷰에 null 종결자를 포함하지 않으려면, 끝 부분에 null 종결자가 확실히 존재한다고 판단될 때 ` chop()`를 호출하여 제외할 수 있습니다. 또는 배열 리터럴을 인수로 받는 생성자 오버로드를 사용할 수 있습니다. 이 경우 데이터 내 첫 번째 null-terminator 바로 앞까지(해당 문자는 제외) 뷰가 생성됩니다.
string 이 문자열 뷰 객체의 수명 기간 동안 유효해야 합니다.
Char 가 호환 가능한 문자 유형인 경우, 이 함수는 모든 배열 리터럴에서 작동합니다. 호환 가능한 문자 유형은 다음과 같습니다: char8_t, char, signed char 및 unsigned char.
[constexpr] QUtf8StringView::storage_type QUtf8StringView::front() const
문자열 뷰의 첫 번째 코드 포인트를 반환합니다. ` first()`와 동일합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
경고: 빈 문자열 뷰에서 이 함수를호출하면 정의되지 않은 동작이 발생합니다.
back()도 참조하십시오 .
[constexpr noexcept] bool QUtf8StringView::isEmpty() const
이 문자열 뷰가 비어 있는지, 즉 ` size() == 0`인지 여부를 반환합니다.
이 함수는 다른 Qt 컨테이너와의 호환성을 위해 제공됩니다.
empty(), isNull(), size() 및 length()도 참조하십시오 .
[constexpr noexcept] bool QUtf8StringView::isNull() const
이 문자열 뷰가 null인지, 즉 ` data() == nullptr`인지 여부를 반환합니다.
이 함수는 다른 Qt 컨테이너와의 호환성을 위해 제공됩니다.
empty(), isEmpty(), size() 및 length()도 참조하십시오 .
[noexcept, since 6.3] bool QUtf8StringView::isValidUtf8() const
이 문자열에 유효한 UTF-8 인코딩 데이터가 포함되어 있으면 ` true `를 반환하고, 그렇지 않으면 ` false `를 반환합니다.
이 함수는 Qt 6.3에서 도입되었습니다.
[constexpr] QUtf8StringView QUtf8StringView::last(qsizetype n) const
이 문자열 뷰의 마지막 n 코드 포인트를 포함하는 문자열 뷰를 반환합니다.
참고: n < 0이거나 n > size()인 경우동작이 정의되지 않습니다.
참조: first(), sliced(), chopped(), chop(), truncate(), slice().
[constexpr noexcept] qsizetype QUtf8StringView::length() const
size()과 동일합니다.
이 함수는 다른 Qt 컨테이너와의 호환성을 위해 제공됩니다.
empty(), isEmpty(), isNull() 및 size()도 참조하십시오 .
[static constexpr noexcept, since 6.8] qsizetype QUtf8StringView::maxSize()
이 함수는 뷰가 이론적으로 표현할 수 있는 요소의 최대 개수를 반환합니다. 실제로는 시스템에서 사용할 수 있는 메모리 양에 따라 이 수치가 훨씬 더 작아질 수 있습니다.
이 함수는 Qt 6.8에서 도입되었습니다.
[constexpr noexcept, since 6.8] qsizetype QUtf8StringView::max_size() const
이 함수는 STL 호환성을 위해 제공됩니다.
maxSize()를 반환합니다.
이 함수는 Qt 6.8에서 도입되었습니다.
[noexcept] QUtf8StringView::const_reverse_iterator QUtf8StringView::rbegin() const
문자열 뷰의 첫 번째 코드 포인트를 가리키는, 역순으로 정렬된 STL 스타일의 const 역방향 이터레이터를 반환합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
rend(), crbegin() 및 begin()도 참조하십시오 .
[noexcept] QUtf8StringView::const_reverse_iterator QUtf8StringView::rend() const
문자열 뷰의 마지막 코드 포인트 바로 다음 위치(역순)를 가리키는 STL 스타일의 역방향 이터레이터를 반환합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
rbegin(), crend() 및 end()도 참조하십시오 .
[constexpr noexcept] qsizetype QUtf8StringView::size() const
이 문자열 뷰의 크기를 UTF-8 코드 포인트 단위로 반환합니다(즉, 이 함수에서는 멀티바이트 시퀀스가 1개 이상으로 계산되며, 이는 QString 및 QStringView 에 설명된 대리 쌍(surrogate pairs)의 처리 방식과 동일합니다).
empty(), isEmpty(), isNull() 및 length()도 참조하십시오 .
[constexpr, since 6.8] QUtf8StringView &QUtf8StringView::slice(qsizetype pos, qsizetype n)
이 문자열 뷰를 수정하여 pos 위치에서 시작하도록 하고, n 코드 포인트만큼 확장합니다.
참고: pos < 0, n < 0, 또는 pos + n > size()인 경우동작이 정의되지 않습니다.
이 함수는 Qt 6.8에서 도입되었습니다.
sliced(), first(), last(), chopped(), chop() 및 truncate()도 참조하십시오 .
[constexpr, since 6.8] QUtf8StringView &QUtf8StringView::slice(qsizetype pos)
이 문자열 뷰를 pos 위치에서 시작하여 끝까지 확장되도록 수정합니다.
참고: pos < 0이거나 pos > size()인 경우동작이 정의되지 않습니다.
이 함수는 오버로드된 함수입니다.
이 함수는 Qt 6.8에서 도입되었습니다.
sliced(), first(), last(), chopped(), chop() 및 truncate()도 참조하십시오 .
[constexpr] QUtf8StringView QUtf8StringView::sliced(qsizetype pos) const
이 객체의 pos 위치부터 시작하여 끝까지 이어지는 문자열 뷰를 반환합니다.
참고: pos < 0이거나 pos > size()일 경우동작이 정의되지 않습니다.
first(), last(), chopped(), chop(), truncate(), slice()도 참조하십시오 .
[constexpr] QUtf8StringView QUtf8StringView::sliced(qsizetype pos, qsizetype n) const
이 문자열 뷰의 n 코드 포인트를 포함하는 문자열 뷰를, 위치 pos 부터 시작하여 반환합니다.
참고: pos < 0, n < 0, 또는 pos + n > size()인 경우동작이 정의되지 않습니다.
first(), last(), chopped(), chop(), truncate() 및 slice()도 참조하십시오 .
QString QUtf8StringView::toString() const
이 문자열 뷰의 데이터에 대한 딥 카피를 ` QString` 형식으로 반환합니다.
이 문자열 뷰가 null인 경우에만 반환 값은 null QString 이 됩니다.
[constexpr] void QUtf8StringView::truncate(qsizetype n)
이 문자열 뷰를 n 코드 포인트로 잘라냅니다.
*this = first(n) 와 동일합니다.
참고: n < 0이거나 n > size()인 경우동작이 정의되지 않습니다.
sliced(), first(), last(), chopped() 및 chop()도 참조하십시오 .
[noexcept] const char8_t *QUtf8StringView::utf8() const
문자열 뷰의 첫 번째 코드 포인트에 대한 const 포인터를 반환합니다.
결과는 ` const char8_t*` 형식으로 반환되므로, 이 함수는 C++20 모드로 컴파일할 때만 사용할 수 있습니다.
참고: 반환값으로 표현되는 문자 배열은 null로 끝나지 않습니다.
begin(), end() 및 data()도 참조하십시오 .
[noexcept, since 6.7] QUtf8StringView::operator std::string_view() const
이 QUtf8StringView 객체를 std::string_view 객체로 변환합니다. 반환된 뷰는 이 뷰와 동일한 데이터 포인터와 길이를 갖게 됩니다.
이 함수는 Qt 6.7에서 도입되었습니다.
[noexcept, since 6.10] QUtf8StringView::operator std::u8string_view() const
이 QUtf8StringView 객체를 std::u8string_view 객체로 변환합니다. 반환된 뷰는 이 뷰와 동일한 데이터 포인터와 길이를 갖게 됩니다.
이 함수는 C++20 모드로 컴파일할 때만 사용할 수 있습니다.
이 함수는 Qt 6.10에서 도입되었습니다.
[constexpr] QUtf8StringView::storage_type QUtf8StringView::operator[](qsizetype n) const
이 문자열 뷰에서 n 위치에 있는 코드 포인트를 반환합니다.
n 가 음수이거나 size()보다 크거나 같을 경우, 동작은 정의되지 않습니다.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.