winrt::hstring struct (C++/WinRT)

Kumpulan berurutan karakter Unicode UTF-16 yang mewakili string teks. Untuk contoh dan info selengkapnya tentang winrt::hstring, lihat penanganan String di C++/WinRT.

Jenis winrt::hstring merangkum HSTRING di belakang antarmuka yang mirip dengan std::wstring. HSTRING adalah handel untuk string Windows Runtime. Untuk informasi tentang cara mengatur HSTRING ke dalam winrt::hstring, dan cara mengambil HSTRING dari winrt::hstring, lihat Interoperasi denganHSTRING ABI .

Sintaksis

struct hstring

Persyaratan

SDK minimum yang didukung: Windows SDK versi 10.0.17134.0 (Windows 10, versi 1803)

Namespace: winrt

Header : %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (disertakan secara default)

Alias jenis anggota

Nama alias Jenis
hstring::value_type Sinonim untuk wchar_t.
hstring::size_type Sinonim untuk uint32_t.
hstring::const_reference Sinonim untuk hstring::value_type const&.
hstring::const_pointer Sinonim untuk hstring::value_type const*.
hstring::const_iterator Sinonim untuk hstring::const_pointer.
hstring::const_reverse_iterator Sinonim untuk std::reverse_iterator<hstring::const_iterator>.

Konstruktor

Pembangun Deskripsi
hstring::hstring constructor Menginisialisasi instans baru hstring struct dengan salinan data string input.

Fungsi anggota

Fungsi Deskripsi
hstring::back function Mengembalikan referensi ke karakter terakhir dalam objek hstring .
hstring::begin fungsi Mengembalikan iterator const ke karakter pertama dalam objek hstring .
fungsi hstring::c_str Mengembalikan penunjuk ke string gaya C yang dihentikan null yang mendasar dari karakter dalam objek hstring ; tidak ada salinan yang dibuat.
fungsi hstring::cbegin Mengembalikan iterator const ke karakter pertama dalam objek hstring .
fungsi hstring::cend Mengembalikan iterator const ke satu di luar akhir (satu di luar karakter terakhir di) objek hstring .
hstring::clear function Membuat objek hstring kosong.
fungsi hstring::crbegin Mengembalikan const reverse iterator ke satu di luar akhir (satu di luar karakter terakhir di) objek hstring .
fungsi hstring::crend Mengembalikan iterator balik const ke karakter pertama dalam objek hstring .
fungsi hstring::d ata Mengembalikan versi string gaya C null-terminated dari karakter dalam objek hstring .
hstring:: fungsi kosong Mengembalikan nilai yang menunjukkan apakah objek hstring kosong.
hstring::end function Mengembalikan iterator const ke satu di luar akhir (satu di luar karakter terakhir di) objek hstring .
hstring:: fungsi depan Mengembalikan referensi ke karakter pertama dalam objek hstring .
fungsi hstring::rbegin Mengembalikan const reverse iterator ke satu di luar akhir (satu di luar karakter terakhir di) objek hstring .
fungsi hstring::rend Mengembalikan iterator balik const ke karakter pertama dalam objek hstring .
hstring::size function Mengembalikan jumlah karakter dalam objek hstring .

Operator anggota

Operator Deskripsi
hstring::operator std::wstring_view Mengonversi objek hstring menjadi std::wstring_view.
hstring::operator[] (operator subskrip)) Mengembalikan referensi ke karakter pada posisi yang ditentukan dalam objek hstring .
hstring::operator= (operator penugasan) Menetapkan nilai ke objek hstring .

Fungsi gratis

Fungsi Deskripsi
fungsi attach_abi Melampirkan objek hstring ke handel ke string Windows Runtime.
fungsi copy_from_abi Menyalin ke objek hstring dari handel ke string Runtime Windows. Menghapushstring , menyalin parameter, dan mulai mengelola handel.
fungsi copy_to_abi Menyalin ke handel ke string Windows Runtime dari objek hstring .
fungsi detach_abi Melepaskan objek hstring dari handelnya, mungkin untuk mengembalikannya ke pemanggil.
fungsi to_hstring Mengonversi nilai input ke winrt::hstring yang berisi representasi string nilai.

Operator gratis

Operator Deskripsi
operator!= (operator ketidaksamaan) Mengembalikan nilai yang menunjukkan apakah kedua parameter tidak setara satu sama lain.
operator + (operator perangkaian) Mengembalikan objek hstring baru yang dihasilkan dari menggabungkan dua parameter bersama-sama.
< operator (operator kurang dari) Mengembalikan nilai yang menunjukkan apakah parameter pertama kurang dari parameter kedua.
<operator = (operator kurang dari atau sama dengan) Mengembalikan nilai yang menunjukkan apakah parameter pertama kurang dari atau sama dengan parameter kedua.
operator== (operator kesetaraan) Mengembalikan nilai yang menunjukkan apakah kedua parameter sama dengan satu sama lain.
operator (lebih besar dari operator) Mengembalikan nilai yang menunjukkan apakah parameter pertama lebih besar dari parameter kedua.
operator>= (operator yang lebih besar dari atau sama dengan operator) Mengembalikan nilai yang menunjukkan apakah parameter pertama lebih besar dari atau sama dengan parameter kedua.

Iterator

hstring adalah rentang, dan rentang tersebut ditentukan oleh hstring::begin dan hstring::end fungsi anggota, yang masing-masing mengembalikan iterator const (seperti halnya hstring::cbegin dan hstring::cend). Karena itu, Anda dapat menghitung karakter dalam objek hstring dengan pernyataan berbasis rentang, atau dengan fungsi templat std::for_each .

#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 constructor

Menginisialisasi instans baru hstring struct dengan salinan data string input.

Sintaksis

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);

Parameter

Nilai hstring yang menginisialisasi objek hstring .

nilai std::wstring_view yang menginisialisasi objek hstring .

Penunjuk ke array wchar_t konstanta yang menginisialisasi objek hstring .

Angka yang menentukan ukuran tetap untuk objek hstring .

Contoh

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 function

Mengembalikan referensi ke karakter terakhir dalam objek hstring .

Sintaksis

wchar_t const& back() const noexcept;

Mengembalikan nilai

Referensi ke karakter terakhir dalam objek hstring .

hstring::begin function

Mengembalikan iterator const ke karakter pertama dalam objek hstring . Lihat iterator .

Sintaksis

wchar_t const* begin() const noexcept;

Mengembalikan nilai

Iterator const ke karakter pertama dalam objek hstring .

fungsi hstring::c_str

Mengembalikan penunjuk ke string gaya C yang dihentikan null yang mendasar dari karakter dalam objek hstring ; tidak ada salinan yang dibuat.

Sintaksis

wchar_t const* c_str() const noexcept;

Mengembalikan nilai

Penunjuk ke string gaya C yang dihentikan null yang mendasar dari karakter dalam objek hstring ; tidak ada salinan yang dibuat.

Contoh

#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;
}

fungsi hstring::cbegin

Mengembalikan iterator const ke karakter pertama dalam objek hstring . Lihat iterator .

Sintaksis

wchar_t const* cbegin() const noexcept;

Mengembalikan nilai

Iterator const ke karakter pertama dalam objek hstring .

fungsi hstring::cend

Mengembalikan iterator const ke satu di luar akhir (satu di luar karakter terakhir di) objek hstring . Lihat iterator .

Sintaksis

wchar_t const* cend() const noexcept;

Mengembalikan nilai

Iterator const ke salah satu di luar akhir (satu di luar karakter terakhir di) objek hstring .

hstring::clear function

Membuat objek hstring kosong.

Sintaksis

void clear() noexcept;

fungsi hstring::crbegin

Mengembalikan const reverse iterator ke satu di luar akhir (satu di luar karakter terakhir di) objek hstring .

Sintaksis

std::reverse_iterator<wchar_t const*> crbegin() const noexcept;

Mengembalikan nilai

Iterator balik const ke salah satu di luar akhir (satu di luar karakter terakhir di) hstring objek.

fungsi hstring::crend

Mengembalikan iterator balik const ke karakter pertama dalam objek hstring .

Sintaksis

std::reverse_iterator<wchar_t const*> crend() const noexcept;

Mengembalikan nilai

Iterator balik const ke karakter pertama dalam objek hstring .

fungsi hstring::d ata

Mengembalikan versi string gaya C null-terminated dari karakter dalam objek hstring .

Sintaksis

wchar_t const* data() const noexcept;

Mengembalikan nilai

Versi string gaya C yang dihentikan null dari karakter dalam objek hstring .

Contoh

#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 function

Mengembalikan nilai yang menunjukkan apakah objek hstring kosong.

Sintaksis

bool empty() const noexcept;

Mengembalikan nilai

jika objek hstring kosong, jika tidak, .

hstring::end function

Mengembalikan iterator const ke satu di luar akhir (satu di luar karakter terakhir di) objek hstring . Lihat iterator .

Sintaksis

wchar_t const* end() const noexcept;

Mengembalikan nilai

Iterator const ke salah satu di luar akhir (satu di luar karakter terakhir di) objek hstring .

hstring::front function

Mengembalikan referensi ke karakter pertama dalam objek hstring .

Sintaksis

wchar_t const& front() const noexcept;

Mengembalikan nilai

Referensi ke karakter pertama dalam objek hstring .

hstring::operator std::wstring_view

Mengonversi objek hstring menjadi std::wstring_view.

Sintaksis

operator std::wstring_view() const noexcept;

Mengembalikan nilai

Objek hstring dikonversi ke std::wstring_view.

Contoh

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[] (operator subskrip)

Mengembalikan referensi ke karakter pada posisi yang ditentukan dalam objek hstring .

Sintaksis

wchar_t const& operator[](uint32_t pos) const noexcept;

Parameter

pos Posisi karakter berbasis nol, atau indeks.

Mengembalikan nilai

Referensi ke karakter pada posisi yang ditentukan dalam objek hstring .

hstring::operator= (operator penugasan)

Menetapkan nilai ke objek hstring .

Sintaksis

winrt::hstring& operator=(winrt::hstring const& h);
winrt::hstring& operator=(std::wstring_view const& v);

Parameter

Nilai hstring untuk ditetapkan ke objek hstring .

nilai std::wstring_view untuk ditetapkan ke objek hstring .

Mengembalikan nilai

Referensi ke objek hstring .

fungsi hstring::rbegin

Mengembalikan const reverse iterator ke satu di luar akhir (satu di luar karakter terakhir di) objek hstring .

Sintaksis

std::reverse_iterator<wchar_t const*> rbegin() const noexcept;

Mengembalikan nilai

Iterator balik const ke salah satu di luar akhir (satu di luar karakter terakhir di) hstring objek.

fungsi hstring::rend

Mengembalikan iterator balik const ke karakter pertama dalam objek hstring .

Sintaksis

std::reverse_iterator<wchar_t const*> rend() const noexcept;

Mengembalikan nilai

Iterator balik const ke karakter pertama dalam objek hstring .

hstring::size function

Mengembalikan jumlah karakter dalam objek hstring .

Sintaksis

uint32_t size() const noexcept;

Mengembalikan nilai

uint32_t yang berisi jumlah karakter dalam objek hstring .

fungsi attach_abi

Melampirkan objek hstring ke handel ke string Windows Runtime.

Sintaksis

void attach_abi(winrt::hstring& object, HSTRING value) noexcept;

Parameter

objek hstring untuk dioperasikan.

value Handel ke string Windows Runtime.

fungsi copy_from_abi

Menyalin ke objek hstring dari handel ke string Runtime Windows. Menghapushstring , menyalin parameter, dan mulai mengelola handel.

Sintaksis

void copy_from_abi(winrt::hstring& object, HSTRING value);

Parameter

objek hstring untuk dioperasikan.

value Handel ke string Windows Runtime.

fungsi copy_to_abi

Menyalin ke handel ke string Windows Runtime dari objek hstring .

Sintaksis

void copy_to_abi(winrt::hstring const& object, HSTRING& value);

Parameter

objek hstring untuk dioperasikan.

Referensi handel, untuk menyalin handelhstring .

fungsi detach_abi

Melepaskan objek hstring dari handelnya, mungkin untuk mengembalikannya ke pemanggil.

Sintaksis

HSTRING detach_abi(winrt::hstring& object) noexcept;
HSTRING detach_abi(winrt::hstring&& object) noexcept;

Parameter

objek hstring untuk dioperasikan.

Mengembalikan nilai

Handel ke string Windows Runtime.

operator!= (operator ketidaksamaan)

Mengembalikan nilai yang menunjukkan apakah kedua parameter tidak setara satu sama lain.

Sintaksis

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;

Parameter

Nilai hstring untuk dibandingkan dengan parameter lainnya.

wLeft wRight Nilai std::wstring untuk dibandingkan dengan parameter lainnya.

cLeft cRight Penunjuk ke array wchar_t konstanta untuk dibandingkan dengan parameter lainnya.

Mengembalikan nilai

true jika kedua parameter tidak sama satu sama lain, jika tidak, false.

operator+ (operator perangkaian)

Mengembalikan objek hstring baru yang dihasilkan dari menggabungkan dua parameter bersama-sama.

Sintaksis

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);

Parameter

Nilai hstring untuk digabungkan dengan parameter lainnya.

wLeft wRight Nilai std::wstring untuk digabungkan dengan parameter lainnya.

vLeft vRight nilai std::wstring_view untuk digabungkan dengan parameter lainnya.

cLeft cRight Penunjuk ke array wchar_t konstanta untuk digabungkan dengan parameter lainnya.

scLeft scRight A wchar_t untuk digabungkan dengan parameter lainnya.

Mengembalikan nilai

Objek hstring baru yang dihasilkan dari menggabungkan dua parameter bersama-sama.

operator< (operator kurang dari)

Mengembalikan nilai yang menunjukkan apakah parameter pertama kurang dari parameter kedua.

Sintaksis

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;

Parameter

Nilai hstring untuk dibandingkan dengan parameter lainnya.

wLeft wRight Nilai std::wstring untuk dibandingkan dengan parameter lainnya.

cLeft cRight Penunjuk ke array wchar_t konstanta untuk dibandingkan dengan parameter lainnya.

Mengembalikan nilai

true jika parameter pertama kurang dari parameter kedua, jika tidak, false.

operator<= (operator kurang dari atau sama dengan)

Mengembalikan nilai yang menunjukkan apakah parameter pertama kurang dari atau sama dengan parameter kedua.

Sintaksis

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;

Parameter

Nilai hstring untuk dibandingkan dengan parameter lainnya.

wLeft wRight Nilai std::wstring untuk dibandingkan dengan parameter lainnya.

cLeft cRight Penunjuk ke array wchar_t konstanta untuk dibandingkan dengan parameter lainnya.

Mengembalikan nilai

true jika parameter pertama kurang dari atau sama dengan parameter kedua, jika tidak, false.

operator== (operator kesetaraan)

Mengembalikan nilai yang menunjukkan apakah kedua parameter sama dengan satu sama lain.

Sintaksis

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;

Parameter

Nilai hstring untuk dibandingkan dengan parameter lainnya.

wLeft wRight Nilai std::wstring untuk dibandingkan dengan parameter lainnya.

cLeft cRight Penunjuk ke array wchar_t konstanta untuk dibandingkan dengan parameter lainnya.

Mengembalikan nilai

true jika kedua parameter sama dengan satu sama lain, jika tidak, false.

operator> (operator yang lebih besar dari)

Mengembalikan nilai yang menunjukkan apakah parameter pertama lebih besar dari parameter kedua.

Sintaksis

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;

Parameter

Nilai hstring untuk dibandingkan dengan parameter lainnya.

wLeft wRight Nilai std::wstring untuk dibandingkan dengan parameter lainnya.

cLeft cRight Penunjuk ke array wchar_t konstanta untuk dibandingkan dengan parameter lainnya.

Mengembalikan nilai

true jika parameter pertama lebih besar dari parameter kedua, jika tidak, false.

operator>= (operator yang lebih besar dari atau sama dengan)

Mengembalikan nilai yang menunjukkan apakah parameter pertama lebih besar dari atau sama dengan parameter kedua.

Sintaksis

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;

Parameter

Nilai hstring untuk dibandingkan dengan parameter lainnya.

wLeft wRight Nilai std::wstring untuk dibandingkan dengan parameter lainnya.

cLeft cRight Penunjuk ke array wchar_t konstanta untuk dibandingkan dengan parameter lainnya.

Mengembalikan nilai

true jika parameter pertama lebih besar dari atau sama dengan parameter kedua, jika tidak, false.

Lihat juga

  • namespace winrt
  • penanganan String di C++/WinRT