winrt::hstring 구조체(C++/WinRT)
텍스트 문자열을 나타내는 UTF-16 유니코드 문자의 순차 컬렉션입니다.
winrt::hstring 형식은 std::wstring인터페이스 뒤에 HSTRING 캡슐화합니다.
HSTRING Windows 런타임 문자열에 대한 핸들입니다.
통사론
struct hstring
요구 사항
지원되는 최소 SDK: Windows SDK 버전 10.0.17134.0(Windows 10 버전 1803)
Namespace: 윈트
헤더: %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h(기본적으로 포함)
멤버 형식 별칭
별칭 이름 | 형 |
---|---|
hstring::value_type | wchar_t동의어입니다. |
hstring::size_type | uint32_t동의어입니다. |
hstring::const_reference | hstring::value_type const&동의어입니다. |
hstring::const_pointer | hstring::value_type const*동의어입니다. |
hstring::const_iterator | hstring::const_pointer동의어입니다. |
hstring::const_reverse_iterator | std::reverse_iterator<hstring::const_iterator>동의어입니다. |
생성자
생성자 | 묘사 |
---|---|
hstring::hstring 생성자 | 입력 문자열 데이터의 복사본을 사용하여 hstring 구조체의 새 인스턴스를 초기화합니다. |
멤버 함수
기능 | 묘사 |
---|---|
hstring::back 함수 | hstring 개체의 마지막 문자에 대한 참조를 반환합니다. |
hstring::begin 함수 | hstring 개체의 첫 번째 문자에 대한 const 반복기를 반환합니다. |
hstring::c_str 함수 | hstring 개체에 있는 문자의 기본 null로 끝나는 C 스타일 문자열에 대한 포인터를 반환합니다. 복사본이 만들어지지 않습니다. |
hstring::cbegin 함수 | hstring 개체의 첫 번째 문자에 대한 const 반복기를 반환합니다. |
hstring::cend 함수 | hstring 개체의 마지막 문자 끝(마지막 문자 이후)에 대한 const 반복기를 반환합니다. |
hstring::clear 함수 | hstring 개체를 비워 줍니다. |
hstring::crbegin 함수 | const 역방향 반복기를 hstring 개체의 마지막 문자 끝(마지막 문자에서 하나 이상)으로 반환합니다. |
hstring::crend 함수 | hstring 개체의 첫 번째 문자에 대한 const 역방향 반복기를 반환합니다. |
hstring::d ata 함수 | hstring 개체에 있는 문자의 null로 끝나는 C 스타일 문자열 버전을 반환합니다. |
hstring::empty 함수 | hstring 개체가 비어 있는지 여부를 나타내는 값을 반환합니다. |
hstring::end 함수 | hstring 개체의 마지막 문자 끝(마지막 문자 이후)에 대한 const 반복기를 반환합니다. |
hstring::front 함수 | hstring 개체의 첫 번째 문자에 대한 참조를 반환합니다. |
hstring::rbegin 함수 | const 역방향 반복기를 hstring 개체의 마지막 문자 끝(마지막 문자에서 하나 이상)으로 반환합니다. |
hstring::rend 함수 | hstring 개체의 첫 번째 문자에 대한 const 역방향 반복기를 반환합니다. |
hstring::size 함수 | hstring 개체의 문자 수를 반환합니다. |
멤버 연산자
연산자 | 묘사 |
---|---|
hstring::operator std::wstring_view | hstring 개체를 std::wstring_view변환합니다. |
hstring::operator[](아래 첨자 연산자)) | hstring 개체 내의 지정된 위치에 있는 문자에 대한 참조를 반환합니다. |
hstring::operator=(대입 연산자) | hstring 개체에 값을 할당합니다. |
Free 함수
기능 | 묘사 |
---|---|
attach_abi 함수 | hstring 개체를 Windows 런타임 문자열에 대한 핸들에 연결합니다. |
copy_from_abi 함수 | 핸들에서 Windows 런타임 문자열로 hstring 개체에 복사합니다. hstring지우고, 매개 변수를 복사하고, 핸들 관리를 시작합니다. |
copy_to_abi 함수 | hstring 개체에서 Windows 런타임 문자열에 핸들을 복사합니다. |
detach_abi 함수 | hstring 개체를 핸들에서 분리하여 호출자에게 반환합니다. |
to_hstring 함수 | 입력 값을 값의 문자열 표현을 포함하는 winrt::hstring 변환합니다. |
무료 연산자
연산자 | 묘사 |
---|---|
연산자!= (같지 않음 연산자) | 두 매개 변수가 서로 같지 않은지 여부를 나타내는 값을 반환합니다. |
연산자+(연결 연산자) | 두 매개 변수를 함께 연결하여 발생하는 새 hstring 개체를 반환합니다. |
연산자<(연산자보다 작음) | 첫 번째 매개 변수가 두 번째 매개 변수보다 작은지 여부를 나타내는 값을 반환합니다. |
연산자<= (보다 작거나 같음 연산자) | 첫 번째 매개 변수가 두 번째 매개 변수보다 작거나 같은지 여부를 나타내는 값을 반환합니다. |
operator==(같음 연산자) | 두 매개 변수가 서로 같은지 여부를 나타내는 값을 반환합니다. |
연산자>(보다 큼 연산자) | 첫 번째 매개 변수가 두 번째 매개 변수보다 큰지 여부를 나타내는 값을 반환합니다. |
연산자>= (보다 크거나 같음 연산자) | 첫 번째 매개 변수가 두 번째 매개 변수보다 크거나 같은지 여부를 나타내는 값을 반환합니다. |
반복기
hstring 범위이며 해당 범위는 hstring::begin 및 hstring::end 멤버 함수에 의해 정의되며, 각 함수는 const 반복기를 반환합니다(hstring::cbegin 및 hstring::cend). 따라서 범위 기반 for
문이나 std::for_each 템플릿 함수를 사용하여 hstring 개체의 문자를 열거할 수 있습니다.
#include <iostream>
using namespace winrt;
...
void Iterators(hstring const& theHstring)
{
for (auto const& element : theHstring)
{
std::wcout << element;
}
std::for_each(theHstring.cbegin(), theHstring.cend(), [](T const& element) { std::wcout << element; });
}
hstring::hstring 생성자
입력 문자열 데이터의 복사본을 사용하여 hstring 구조체의 새 인스턴스를 초기화합니다.
통사론
hstring() noexcept;
hstring(winrt::hstring const& h);
explicit hstring(std::wstring_view const& v);
hstring(wchar_t const* c);
hstring(wchar_t const* c, uint32_t s);
매개 변수
h
hstring 개체를 초기화하는 hstring 값입니다.
v
hstring 개체를 초기화하는 std::wstring_view 값입니다.
c
hstring 개체를 초기화하는 상수 wchar_t 배열에 대한 포인터입니다.
s
hstring 개체의 고정 크기를 지정하는 숫자입니다.
본보기
using namespace winrt;
...
void Constructors(
hstring const& theHstring,
std::wstring_view const& theWstringView,
wchar_t const* wideLiteral,
std::wstring const& wideString)
{
// hstring() noexcept
hstring fromDefault{};
// hstring(hstring const& h)
hstring fromHstring{ theHstring };
// explicit hstring(std::wstring_view const& value)
hstring fromWstringView{ theWstringView };
// hstring(wchar_t const* value)
hstring fromWideLiteral{ wideLiteral };
hstring fromWideString{ wideString.c_str() };
// hstring(wchar_t const* value, uint32_t size)
hstring fromWideLiteralWithSize{ wideLiteral, 256 };
hstring fromWideStringWithSize{ wideString.c_str(), 256 };
}
hstring::back 함수
hstring 개체의 마지막 문자에 대한 참조를 반환합니다.
통사론
wchar_t const& back() const noexcept;
반환 값
hstring 개체의 마지막 문자에 대한 참조입니다.
hstring::begin 함수
hstring 개체의 첫 번째 문자에 대한 const 반복기를 반환합니다. 반복기
통사론
wchar_t const* begin() const noexcept;
반환 값
hstring 개체의 첫 번째 문자에 대한 const 반복기입니다.
hstring::c_str 함수
hstring 개체에 있는 문자의 기본 null로 끝나는 C 스타일 문자열에 대한 포인터를 반환합니다. 복사본이 만들어지지 않습니다.
통사론
wchar_t const* c_str() const noexcept;
반환 값
hstring 개체에 있는 문자의 기본 null로 끝나는 C 스타일 문자열에 대한 포인터입니다. 복사본이 만들어지지 않습니다.
본보기
#include <iostream>
using namespace winrt;
...
void PrintHstring(hstring const& theHstring)
{
// You can get a standard wide string from an hstring.
std::wcout << theHstring.c_str() << std::endl;
}
hstring::cbegin 함수
hstring 개체의 첫 번째 문자에 대한 const 반복기를 반환합니다. 반복기
통사론
wchar_t const* cbegin() const noexcept;
반환 값
hstring 개체의 첫 번째 문자에 대한 const 반복기입니다.
hstring::cend 함수
hstring 개체의 마지막 문자 끝(마지막 문자 이후)에 대한 const 반복기를 반환합니다. 반복기
통사론
wchar_t const* cend() const noexcept;
반환 값
hstring 개체의 끝(마지막 문자 이후)에 대한 const 반복기입니다.
hstring::clear 함수
hstring 개체를 비워 줍니다.
통사론
void clear() noexcept;
hstring::crbegin 함수
const 역방향 반복기를 hstring 개체의 마지막 문자 끝(마지막 문자에서 하나 이상)으로 반환합니다.
통사론
std::reverse_iterator<wchar_t const*> crbegin() const noexcept;
반환 값
const 역방향 반복기는 hstring 개체의 끝(마지막 문자에서 마지막 문자 이후)을 넘습니다.
hstring::crend 함수
hstring 개체의 첫 번째 문자에 대한 const 역방향 반복기를 반환합니다.
통사론
std::reverse_iterator<wchar_t const*> crend() const noexcept;
반환 값
hstring 개체의 첫 번째 문자에 대한 const 역방향 반복기입니다.
hstring::d ata 함수
hstring 개체에 있는 문자의 null로 끝나는 C 스타일 문자열 버전을 반환합니다.
통사론
wchar_t const* data() const noexcept;
반환 값
hstring 개체에 있는 문자의 null로 끝나는 C 스타일 문자열 버전입니다.
본보기
#include <iostream>
using namespace winrt;
...
void PrintHstring(hstring const& theHstring)
{
// You can get a standard wide string from an hstring.
std::wcout << theHstring.data() << std::endl;
}
hstring::empty 함수
hstring 개체가 비어 있는지 여부를 나타내는 값을 반환합니다.
통사론
bool empty() const noexcept;
반환 값
hstring 개체가 비어 있으면 true
, 그렇지 않으면 false
.
hstring::end 함수
hstring 개체의 마지막 문자 끝(마지막 문자 이후)에 대한 const 반복기를 반환합니다. 반복기
통사론
wchar_t const* end() const noexcept;
반환 값
hstring 개체의 끝(마지막 문자 이후)에 대한 const 반복기입니다.
hstring::front 함수
hstring 개체의 첫 번째 문자에 대한 참조를 반환합니다.
통사론
wchar_t const& front() const noexcept;
반환 값
hstring 개체의 첫 번째 문자에 대한 참조입니다.
hstring::operator std::wstring_view
hstring 개체를 std::wstring_view변환합니다.
통사론
operator std::wstring_view() const noexcept;
반환 값
std::wstring_view변환된 hstring 개체입니다.
본보기
using namespace winrt;
...
Uri contosoUri{ L"https://www.contoso.com" };
Uri awUri{ L"https://www.adventure-works.com" };
// Uri::Domain() is of type hstring. But we can use hstring's conversion operator to std::wstring_view.
std::wstring domainWstring{ contosoUri.Domain() }; // L"contoso.com"
domainWstring = awUri.Domain(); // L"https://www.adventure-works.com"
hstring::operator[](아래 첨자 연산자)
hstring 개체 내의 지정된 위치에 있는 문자에 대한 참조를 반환합니다.
통사론
wchar_t const& operator[](uint32_t pos) const noexcept;
매개 변수
pos
0부터 시작하는 문자 위치 또는 인덱스입니다.
반환 값
hstring 개체 내의 지정된 위치에 있는 문자에 대한 참조입니다.
hstring::operator= (assignment 연산자)
hstring 개체에 값을 할당합니다.
통사론
winrt::hstring& operator=(winrt::hstring const& h);
winrt::hstring& operator=(std::wstring_view const& v);
매개 변수
h
hstring 개체에 할당할 hstring 값입니다.
hstring 개체에 할당할 std::wstring_view 값을 v
.
반환 값
hstring 개체에 대한 참조입니다.
hstring::rbegin 함수
const 역방향 반복기를 hstring 개체의 마지막 문자 끝(마지막 문자에서 하나 이상)으로 반환합니다.
통사론
std::reverse_iterator<wchar_t const*> rbegin() const noexcept;
반환 값
const 역방향 반복기는 hstring 개체의 끝(마지막 문자에서 마지막 문자 이후)을 넘습니다.
hstring::rend 함수
hstring 개체의 첫 번째 문자에 대한 const 역방향 반복기를 반환합니다.
통사론
std::reverse_iterator<wchar_t const*> rend() const noexcept;
반환 값
hstring 개체의 첫 번째 문자에 대한 const 역방향 반복기입니다.
hstring::size 함수
hstring 개체의 문자 수를 반환합니다.
통사론
uint32_t size() const noexcept;
반환 값
hstring 개체의 문자 수를 포함하는 uint32_t.
attach_abi 함수
hstring 개체를 Windows 런타임 문자열에 대한 핸들에 연결합니다.
통사론
void attach_abi(winrt::hstring& object, HSTRING value) noexcept;
매개 변수
object
작동할 hstring 개체입니다.
value
Windows 런타임 문자열에 대한 핸들입니다.
copy_from_abi 함수
핸들에서 Windows 런타임 문자열로 hstring 개체에 복사합니다. hstring지우고, 매개 변수를 복사하고, 핸들 관리를 시작합니다.
통사론
void copy_from_abi(winrt::hstring& object, HSTRING value);
매개 변수
object
작동할 hstring 개체입니다.
value
Windows 런타임 문자열에 대한 핸들입니다.
copy_to_abi 함수
hstring 개체에서 Windows 런타임 문자열에 핸들을 복사합니다.
통사론
void copy_to_abi(winrt::hstring const& object, HSTRING& value);
매개 변수
object
작동할 hstring 개체입니다.
value
hstring핸들을 복사하는 핸들 참조입니다.
detach_abi 함수
hstring 개체를 핸들에서 분리하여 호출자에게 반환합니다.
통사론
HSTRING detach_abi(winrt::hstring& object) noexcept;
HSTRING detach_abi(winrt::hstring&& object) noexcept;
매개 변수
object
작동할 hstring 개체입니다.
반환 값
Windows 런타임 문자열에 대한 핸들입니다.
operator!= (같지 않음 연산자)
두 매개 변수가 서로 같지 않은지 여부를 나타내는 값을 반환합니다.
통사론
inline bool operator!=(winrt::hstring const& hLeft, winrt::hstring const& hRight) noexcept;
inline bool operator!=(winrt::hstring const& hLeft, std::wstring const& wRight) noexcept;
inline bool operator!=(winrt::hstring const& hLeft, wchar_t const* cRight) noexcept;
inline bool operator!=(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator!=(wchar_t const* cLeft, winrt::hstring const& hRight) noexcept;
매개 변수
hLeft
hRight
다른 매개 변수와 비교할 hstring 값입니다.
wLeft
wRight
다른 매개 변수와 비교할 std::wstring
값입니다.
cLeft
cRight
다른 매개 변수와 비교할 상수 wchar_t 배열에 대한 포인터입니다.
반환 값
true
두 매개 변수가 서로 같지 않으면 false
.
operator+(연결 연산자)
두 매개 변수를 함께 연결하여 발생하는 새 hstring 개체를 반환합니다.
통사론
inline hstring operator+(winrt::hstring const& hLeft, winrt::hstring const& hRight);
inline hstring operator+(winrt::hstring const& hLeft, std::wstring const& wRight);
inline hstring operator+(winrt::hstring const& hLeft, std::wstring_view const& vRight);
inline hstring operator+(winrt::hstring const& hLeft, wchar_t const* cRight);
inline hstring operator+(winrt::hstring const& hLeft, wchar_t scRight);
inline hstring operator+(std::wstring const& wLeft, winrt::hstring const& hRight);
inline hstring operator+(std::wstring_view const& vLeft, winrt::hstring const& hRight);
inline hstring operator+(wchar_t const* cLeft, winrt::hstring const& hRight);
inline hstring operator+(wchar_t scLeft, winrt::hstring const& hRight);
매개 변수
hLeft
hRight
다른 매개 변수와 연결할 hstring 값입니다.
wLeft
wRight
다른 매개 변수와 연결할 std::wstring
값입니다.
vLeft
vRight
다른 매개 변수와 연결할 std::wstring_view 값입니다.
cLeft
cRight
다른 매개 변수와 연결할 상수 wchar_t 배열에 대한 포인터입니다.
다른 매개 변수와 연결할 wchar_tscLeft
scRight
.
반환 값
두 매개 변수를 함께 연결하여 발생하는 새 hstring 개체입니다.
연산자<(보다 작음 연산자)
첫 번째 매개 변수가 두 번째 매개 변수보다 작은지 여부를 나타내는 값을 반환합니다.
통사론
inline bool operator<(winrt::hstring const& hLeft, winrt::hstring const& hRight) noexcept;
inline bool operator<(winrt::hstring const& hLeft, std::wstring const& wRight) noexcept;
inline bool operator<(winrt::hstring const& hLeft, wchar_t const* cRight) noexcept;
inline bool operator<(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator<(wchar_t const* cLeft, winrt::hstring const& hRight) noexcept;
매개 변수
hLeft
hRight
다른 매개 변수와 비교할 hstring 값입니다.
wLeft
wRight
다른 매개 변수와 비교할 std::wstring
값입니다.
cLeft
cRight
다른 매개 변수와 비교할 상수 wchar_t 배열에 대한 포인터입니다.
반환 값
첫 번째 매개 변수가 두 번째 매개 변수보다 작으면 true
, 그렇지 않으면 false
.
operator<= (less-than-or-equal-to 연산자)
첫 번째 매개 변수가 두 번째 매개 변수보다 작거나 같은지 여부를 나타내는 값을 반환합니다.
통사론
inline bool operator<=(winrt::hstring const& hLeft, winrt::hstring const& hRight) noexcept;
inline bool operator<=(winrt::hstring const& hLeft, std::wstring const& wRight) noexcept;
inline bool operator<=(winrt::hstring const& hLeft, wchar_t const* cRight) noexcept;
inline bool operator<=(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator<=(wchar_t const* cLeft, winrt::hstring const& hRight) noexcept;
매개 변수
hLeft
hRight
다른 매개 변수와 비교할 hstring 값입니다.
wLeft
wRight
다른 매개 변수와 비교할 std::wstring
값입니다.
cLeft
cRight
다른 매개 변수와 비교할 상수 wchar_t 배열에 대한 포인터입니다.
반환 값
첫 번째 매개 변수가 두 번째 매개 변수보다 작거나 같으면 true
, 그렇지 않으면 false
.
operator==(같음 연산자)
두 매개 변수가 서로 같은지 여부를 나타내는 값을 반환합니다.
통사론
inline bool operator==(winrt::hstring const& hLeft, winrt::hstring const& hRight) noexcept;
inline bool operator==(winrt::hstring const& hLeft, std::wstring const& wRight) noexcept;
inline bool operator==(winrt::hstring const& hLeft, wchar_t const* cRight) noexcept;
inline bool operator==(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator==(wchar_t const* cLeft, winrt::hstring const& hRight) noexcept;
매개 변수
hLeft
hRight
다른 매개 변수와 비교할 hstring 값입니다.
wLeft
wRight
다른 매개 변수와 비교할 std::wstring
값입니다.
cLeft
cRight
다른 매개 변수와 비교할 상수 wchar_t 배열에 대한 포인터입니다.
반환 값
두 매개 변수가 서로 같으면 true
, 그렇지 않으면 false
.
연산자>(보다 큼 연산자)
첫 번째 매개 변수가 두 번째 매개 변수보다 큰지 여부를 나타내는 값을 반환합니다.
통사론
inline bool operator>(winrt::hstring const& hLeft, winrt::hstring const& hRight) noexcept;
inline bool operator>(winrt::hstring const& hLeft, std::wstring const& wRight) noexcept;
inline bool operator>(winrt::hstring const& hLeft, wchar_t const* cRight) noexcept;
inline bool operator>(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator>(wchar_t const* cLeft, winrt::hstring const& hRight) noexcept;
매개 변수
hLeft
hRight
다른 매개 변수와 비교할 hstring 값입니다.
wLeft
wRight
다른 매개 변수와 비교할 std::wstring
값입니다.
cLeft
cRight
다른 매개 변수와 비교할 상수 wchar_t 배열에 대한 포인터입니다.
반환 값
첫 번째 매개 변수가 두 번째 매개 변수보다 크면 true
, 그렇지 않으면 false
.
operator>= (greater-than-or-equal-to 연산자)
첫 번째 매개 변수가 두 번째 매개 변수보다 크거나 같은지 여부를 나타내는 값을 반환합니다.
통사론
inline bool operator>=(winrt::hstring const& hLeft, winrt::hstring const& hRight) noexcept;
inline bool operator>=(winrt::hstring const& hLeft, std::wstring const& wRight) noexcept;
inline bool operator>=(winrt::hstring const& hLeft, wchar_t const* cRight) noexcept;
inline bool operator>=(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator>=(wchar_t const* cLeft, winrt::hstring const& hRight) noexcept;
매개 변수
hLeft
hRight
다른 매개 변수와 비교할 hstring 값입니다.
wLeft
wRight
다른 매개 변수와 비교할 std::wstring
값입니다.
cLeft
cRight
다른 매개 변수와 비교할 상수 wchar_t 배열에 대한 포인터입니다.
반환 값
첫 번째 매개 변수가 두 번째 매개 변수보다 크거나 같으면 true
, 그렇지 않으면 false
.
참고 항목
- winrt 네임스페이스
- C++/WinRT
문자열 처리