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
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 |
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::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 |
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 |
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. |
|
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 |
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
#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
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
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
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
Sintassi
operator std::wstring_view() const noexcept;
Valore restituito
Oggetto hstring
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 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
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
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
wLeft
wRight
Valore std::wstring
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
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
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
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
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
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
- spazio dei nomi winrt
- gestione di stringhe in C++/WinRT