Condividi tramite


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

Raccolta sequenziale di caratteri Unicode UTF-16 che rappresentano una stringa di testo. Per altri esempi e informazioni su winrt::hstring, vedere gestione delle stringhe in C++/WinRT.

Il tipo winrt::hstring incapsula HSTRING dietro un'interfaccia simile a quella di std::wstring. Un HSTRING è un handle per una stringa di Windows Runtime. Per informazioni su come impostare un HSTRING in un winrt::hstringe su come recuperare un HSTRING da un winrt::hstring, vedere interoperabilità con l'HSTRINGABI.

Sintassi

struct hstring

Fabbisogno

SDK minimo supportato: Windows SDK versione 10.0.17134.0 (Windows 10, versione 1803)

Namespace: winrt

intestazione : %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (incluso per impostazione predefinita)

Alias del tipo di membro

Nome alias Digitare
hstring::value_type Sinonimo di wchar_t.
hstring::size_type Sinonimo di uint32_t.
hstring::const_reference Sinonimo di hstring::value_type const&.
hstring::const_pointer Sinonimo di hstring::value_type const*.
hstring::const_iterator Sinonimo di hstring::const_pointer.
hstring::const_reverse_iterator Sinonimo di std::reverse_iterator<hstring::const_iterator>.

Costruttori

Costruttore Descrizione
costruttore hstring::hstring Inizializza una nuova istanza dello struct hstring con una copia dei dati della stringa di input.

Funzioni membro

Funzione Descrizione
funzione hstring::back Restituisce un riferimento all'ultimo carattere nell'oggetto hstring .
funzione hstring::begin Restituisce un iteratore const al primo carattere nell'oggetto hstring.
funzione hstring::c_str Restituisce un puntatore alla stringa C con terminazione Null sottostante dei caratteri nell'oggetto hstring; non viene eseguita alcuna copia.
funzione hstring::cbegin Restituisce un iteratore const al primo carattere nell'oggetto hstring.
funzione hstring::cend Restituisce un iteratore const a uno oltre la fine di (uno oltre l'ultimo carattere in) l'oggetto hstring .
funzione hstring::clear Rende vuoto l'oggetto hstring .
funzione hstring::crbegin Restituisce un iteratore inverso const a uno oltre la fine di (uno oltre l'ultimo carattere in) l'oggetto hstring .
funzione hstring::crend Restituisce un iteratore inverso const al primo carattere nell'oggetto hstring.
funzione hstring::d ata Restituisce una versione stringa di tipo C con terminazione Null dei caratteri nell'oggetto hstring .
funzione hstring::empty Restituisce un valore che indica se l'oggetto hstring è vuoto.
funzione hstring::end Restituisce un iteratore const a uno oltre la fine di (uno oltre l'ultimo carattere in) l'oggetto hstring .
funzione hstring::front Restituisce un riferimento al primo carattere nell'oggetto hstring.
funzione hstring::rbegin Restituisce un iteratore inverso const a uno oltre la fine di (uno oltre l'ultimo carattere in) l'oggetto hstring .
funzione hstring::rend Restituisce un iteratore inverso const al primo carattere nell'oggetto hstring.
funzione hstring::size Restituisce il numero di caratteri nell'oggetto hstring.

Operatori membro

Operatore Descrizione
hstring::operator std::wstring_view Converte l'oggetto hstring in un std::wstring_view.
hstring::operator[] (operatore pedice)) Restituisce un riferimento al carattere in corrispondenza della posizione specificata all'interno dell'oggetto hstring .
hstring::operator= (operatore di assegnazione) Assegna un valore all'oggetto hstring.

Funzioni gratuite

Funzione Descrizione
attach_abi funzione Collega un oggetto hstring a un handle a una stringa di Windows Runtime.
copy_from_abi funzione Copia in un oggetto hstring da un handle a una stringa di Windows Runtime. Cancella il hstring, copia il parametro e inizia a gestire l'handle.
copy_to_abi funzione Copia in un handle in una stringa di Windows Runtime da un oggetto hstring.
detach_abi funzione Scollega un oggetto hstring dal relativo handle, ad esempio per restituirlo a un chiamante.
to_hstring funzione Converte un valore di input in un winrt::hstring contenente la rappresentazione di stringa del valore.

Operatori gratuiti

Operatore Descrizione
operator!= (operatore di disuguaglianza) Restituisce un valore che indica se i due parametri non sono uguali tra loro.
operatore + (operatore di concatenazione) Restituisce un nuovo oggetto hstring risultante dalla concatenazione dei due parametri.
operatore< (operatore minore di) Restituisce un valore che indica se il primo parametro è minore del secondo parametro.
operatore<= (operatore minore o uguale a) Restituisce un valore che indica se il primo parametro è minore o uguale al secondo parametro.
operator== (operatore di uguaglianza) Restituisce un valore che indica se i due parametri sono uguali l'uno all'altro.
> dell'operatore (operatore maggiore di) Restituisce un valore che indica se il primo parametro è maggiore del secondo parametro.
operatore= (operatore maggiore o uguale a) Restituisce un valore che indica se il primo parametro è maggiore o uguale al secondo parametro.

Iteratori

Un hstring è un intervallo e tale intervallo viene definito dal hstring::begin e funzioni membro hstring::end, ognuna delle quali restituisce un iteratore const (come hstring::cbegin e hstring::cend). Per questo motivo, è possibile enumerare i caratteri in un oggetto hstring con un'istruzione basata su intervalli o con la funzione modello 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; });
}

Costruttore hstring::hstring

Inizializza una nuova istanza dello struct hstring con una copia dei dati della stringa di input.

Sintassi

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

Parametri

Valore hstring che inizializza l'oggetto hstring.

Valore std::wstring_view che inizializza l'oggetto hstring .

Puntatore a una matrice di wchar_t costanti che inizializza l'oggetto hstring .

Numero che specifica una dimensione fissa per l'oggetto hstring .

Esempio

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

funzione hstring::back

Restituisce un riferimento all'ultimo carattere nell'oggetto hstring .

Sintassi

wchar_t const& back() const noexcept;

Valore restituito

Riferimento all'ultimo carattere nell'oggetto hstring.

funzione hstring::begin

Restituisce un iteratore const al primo carattere nell'oggetto hstring. Vedere Iteratori.

Sintassi

wchar_t const* begin() const noexcept;

Valore restituito

Iteratore const al primo carattere nell'oggetto hstring.

funzione hstring::c_str

Restituisce un puntatore alla stringa C con terminazione Null sottostante dei caratteri nell'oggetto hstring; non viene eseguita alcuna copia.

Sintassi

wchar_t const* c_str() const noexcept;

Valore restituito

Puntatore alla stringa C con terminazione Null sottostante dei caratteri nell'oggetto hstring; non viene eseguita alcuna copia.

Esempio

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

funzione hstring::cbegin

Restituisce un iteratore const al primo carattere nell'oggetto hstring. Vedere Iteratori.

Sintassi

wchar_t const* cbegin() const noexcept;

Valore restituito

Iteratore const al primo carattere nell'oggetto hstring.

funzione hstring::cend

Restituisce un iteratore const a uno oltre la fine di (uno oltre l'ultimo carattere in) l'oggetto hstring . Vedere Iteratori.

Sintassi

wchar_t const* cend() const noexcept;

Valore restituito

Iteratore const a uno oltre la fine di (uno oltre l'ultimo carattere in) l'oggetto hstring .

funzione hstring::clear

Rende vuoto l'oggetto hstring .

Sintassi

void clear() noexcept;

funzione hstring::crbegin

Restituisce un iteratore inverso const a uno oltre la fine di (uno oltre l'ultimo carattere in) l'oggetto hstring .

Sintassi

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

Valore restituito

Iteratore inverso const a uno oltre la fine di (uno oltre l'ultimo carattere in) l'oggetto hstring .

funzione hstring::crend

Restituisce un iteratore inverso const al primo carattere nell'oggetto hstring.

Sintassi

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

Valore restituito

Iteratore inverso const al primo carattere nell'oggetto hstring.

funzione hstring::d ata

Restituisce una versione stringa di tipo C con terminazione Null dei caratteri nell'oggetto hstring .

Sintassi

wchar_t const* data() const noexcept;

Valore restituito

Versione stringa in stile C con terminazione Null dei caratteri nell'oggetto hstring .

Esempio

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

funzione hstring::empty

Restituisce un valore che indica se l'oggetto hstring è vuoto.

Sintassi

bool empty() const noexcept;

Valore restituito

true se l'oggetto hstring è vuoto; in caso contrario, false.

funzione hstring::end

Restituisce un iteratore const a uno oltre la fine di (uno oltre l'ultimo carattere in) l'oggetto hstring . Vedere Iteratori.

Sintassi

wchar_t const* end() const noexcept;

Valore restituito

Iteratore const a uno oltre la fine di (uno oltre l'ultimo carattere in) l'oggetto hstring .

hstring::front function

Restituisce un riferimento al primo carattere nell'oggetto hstring.

Sintassi

wchar_t const& front() const noexcept;

Valore restituito

Riferimento al primo carattere nell'oggetto hstring.

hstring::operator std::wstring_view

Converte l'oggetto hstring in un std::wstring_view.

Sintassi

operator std::wstring_view() const noexcept;

Valore restituito

Oggetto hstring convertito in un std::wstring_view.

Esempio

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[] (operatore di indice)

Restituisce un riferimento al carattere in corrispondenza della posizione specificata all'interno dell'oggetto hstring .

Sintassi

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

Parametri

pos Una posizione del carattere in base zero o un indice.

Valore restituito

Riferimento al carattere in corrispondenza della posizione specificata all'interno dell'oggetto hstring.

hstring::operator= (operatore di assegnazione)

Assegna un valore all'oggetto hstring.

Sintassi

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

Parametri

Valore hstring da assegnare all'oggetto hstring .

Valore std::wstring_view da assegnare all'oggetto hstring .

Valore restituito

Riferimento all'oggetto hstring .

funzione hstring::rbegin

Restituisce un iteratore inverso const a uno oltre la fine di (uno oltre l'ultimo carattere in) l'oggetto hstring .

Sintassi

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

Valore restituito

Iteratore inverso const a uno oltre la fine di (uno oltre l'ultimo carattere in) l'oggetto hstring .

Funzione hstring::rend

Restituisce un iteratore inverso const al primo carattere nell'oggetto hstring.

Sintassi

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

Valore restituito

Iteratore inverso const al primo carattere nell'oggetto hstring.

funzione hstring::size

Restituisce il numero di caratteri nell'oggetto hstring.

Sintassi

uint32_t size() const noexcept;

Valore restituito

uint32_t contenente il numero di caratteri nell'oggetto hstring.

funzione attach_abi

Collega un oggetto hstring a un handle a una stringa di Windows Runtime.

Sintassi

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

Parametri

object oggetto hstring su cui operare.

value Handle a una stringa di Windows Runtime.

funzione copy_from_abi

Copia in un oggetto hstring da un handle a una stringa di Windows Runtime. Cancella il hstring, copia il parametro e inizia a gestire l'handle.

Sintassi

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

Parametri

object oggetto hstring su cui operare.

value Handle a una stringa di Windows Runtime.

funzione copy_to_abi

Copia in un handle in una stringa di Windows Runtime da un oggetto hstring.

Sintassi

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

Parametri

object oggetto hstring su cui operare.

value Riferimento a handle, tramite il quale copiare l'handle dell'hstring.

funzione detach_abi

Scollega un oggetto hstring dal relativo handle, ad esempio per restituirlo a un chiamante.

Sintassi

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

Parametri

object oggetto hstring su cui operare.

Valore restituito

Handle per la stringa di Windows Runtime.

operator!= (operatore di disuguaglianza)

Restituisce un valore che indica se i due parametri non sono uguali tra loro.

Sintassi

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;

Parametri

Valore hstring da confrontare con l'altro parametro.

wLeft wRight Valore std::wstring da confrontare con l'altro parametro.

cLeft cRight Puntatore a una matrice di costanti wchar_t da confrontare con l'altro parametro.

Valore restituito

true se i due parametri non sono uguali l'uno all'altro; in caso contrario, false.

operator+ (operatore di concatenazione)

Restituisce un nuovo oggetto hstring risultante dalla concatenazione dei due parametri.

Sintassi

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

Parametri

Valore hstring da concatenare con l'altro parametro.

wLeft wRight Valore std::wstring da concatenare con l'altro parametro.

Valore std::wstring_view da concatenare con l'altro parametro.

cLeft cRight Puntatore a una matrice di wchar_t costanti da concatenare con l'altro parametro.

scLeft scRight Un wchar_t da concatenare con l'altro parametro.

Valore restituito

Nuovo oggetto hstring risultante dalla concatenazione dei due parametri.

operatore< (operatore minore di)

Restituisce un valore che indica se il primo parametro è minore del secondo parametro.

Sintassi

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;

Parametri

Valore hstring da confrontare con l'altro parametro.

wLeft wRight Valore std::wstring da confrontare con l'altro parametro.

cLeft cRight Puntatore a una matrice di costanti wchar_t da confrontare con l'altro parametro.

Valore restituito

true se il primo parametro è minore del secondo parametro; in caso contrario, false.

operator<= (operatore minore o uguale a)

Restituisce un valore che indica se il primo parametro è minore o uguale al secondo parametro.

Sintassi

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;

Parametri

Valore hstring da confrontare con l'altro parametro.

wLeft wRight Valore std::wstring da confrontare con l'altro parametro.

cLeft cRight Puntatore a una matrice di costanti wchar_t da confrontare con l'altro parametro.

Valore restituito

true se il primo parametro è minore o uguale al secondo parametro, in caso contrario false.

operator== (operatore di uguaglianza)

Restituisce un valore che indica se i due parametri sono uguali l'uno all'altro.

Sintassi

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;

Parametri

Valore hstring da confrontare con l'altro parametro.

wLeft wRight Valore std::wstring da confrontare con l'altro parametro.

cLeft cRight Puntatore a una matrice di costanti wchar_t da confrontare con l'altro parametro.

Valore restituito

true se i due parametri sono uguali l'uno all'altro; in caso contrario, false.

operatore> (operatore maggiore di)

Restituisce un valore che indica se il primo parametro è maggiore del secondo parametro.

Sintassi

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;

Parametri

Valore hstring da confrontare con l'altro parametro.

wLeft wRight Valore std::wstring da confrontare con l'altro parametro.

cLeft cRight Puntatore a una matrice di costanti wchar_t da confrontare con l'altro parametro.

Valore restituito

true se il primo parametro è maggiore del secondo parametro; in caso contrario, false.

operator>= (operatore maggiore o uguale a)

Restituisce un valore che indica se il primo parametro è maggiore o uguale al secondo parametro.

Sintassi

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;

Parametri

Valore hstring da confrontare con l'altro parametro.

wLeft wRight Valore std::wstring da confrontare con l'altro parametro.

cLeft cRight Puntatore a una matrice di costanti wchar_t da confrontare con l'altro parametro.

Valore restituito

true se il primo parametro è maggiore o uguale al secondo parametro, in caso contrario false.

Vedere anche