Struct winrt::hstring (C++/WinRT)
Uma coleção sequencial de caracteres Unicode UTF-16 que representam uma cadeia de caracteres de texto. Para obter mais exemplos e informações sobre winrt::hstring, consulte Tratamento de cadeia de caracteres em C++/WinRT.
O tipo winrt::hstring encapsula HSTRING atrás de uma interface semelhante à de std::wstring. Um HSTRING é um identificador para uma cadeia de caracteres de Windows Runtime. Para obter informações sobre como definir um HSTRING em um winrt::hstring e como rertrieve um HSTRING de um winrt::hstring, consulte Interoperando com o HSTRING da ABI.
Syntax
struct hstring
Requisitos
SDK mínimo com suporte: Windows SDK versão 10.0.17134.0 (Windows 10, versão 1803)
Namespace: winrt
Cabeçalho: %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (incluído por padrão)
Aliases de tipo de membro
Nome do alias | Tipo |
---|---|
hstring::value_type | Um sinônimo de wchar_t. |
hstring::size_type | Um sinônimo de uint32_t. |
hstring::const_reference | Um sinônimo de hstring::value_type const&. |
hstring::const_pointer | Um sinônimo de hstring::value_type const*. |
hstring::const_iterator | Um sinônimo de hstring::const_pointer. |
hstring::const_reverse_iterator | Um sinônimo de std::reverse_iterator<hstring::const_iterator>. |
Construtores
Construtor | Descrição |
---|---|
Construtor hstring::hstring | Inicializa uma nova instância do struct hstring com uma cópia dos dados da cadeia de caracteres de entrada. |
Funções de membro
Função | Descrição |
---|---|
Função hstring::back | Retorna uma referência ao último caractere no objeto hstring . |
Função hstring::begin | Retorna um iterador const para o primeiro caractere no objeto hstring . |
Função hstring::c_str | Retorna um ponteiro para a cadeia de caracteres de estilo C terminada em nulo subjacente dos caracteres no objeto hstring ; nenhuma cópia é feita. |
Função hstring::cbegin | Retorna um iterador const para o primeiro caractere no objeto hstring . |
Função hstring::cend | Retorna um iterador const para um além do final de (um além do último caractere em) do objeto hstring . |
Função hstring::clear | Torna o objeto hstring vazio. |
Função hstring::crbegin | Retorna um iterador reverso const para um além do final de (um além do último caractere em) do objeto hstring . |
Função hstring::crend | Retorna um iterador reverso const para o primeiro caractere no objeto hstring . |
Função hstring::d ata | Retorna uma versão de cadeia de caracteres de estilo C terminada em nulo dos caracteres no objeto hstring . |
Função hstring::empty | Retorna um valor que indica se o objeto hstring está vazio. |
Função hstring::end | Retorna um iterador const para um além do final de (um além do último caractere em) do objeto hstring . |
Função hstring::front | Retorna uma referência ao primeiro caractere no objeto hstring . |
Função hstring::rbegin | Retorna um iterador reverso const para um além do final de (um além do último caractere em) do objeto hstring . |
Função hstring::rend | Retorna um iterador reverso const para o primeiro caractere no objeto hstring . |
Função hstring::size | Retorna o número de caracteres no objeto hstring . |
Operadores membro
Operador | Descrição |
---|---|
hstring::operator std::wstring_view | Converte o objeto hstring em um std::wstring_view. |
hstring::operator[] (operador subscrito)) | Retorna uma referência ao caractere na posição especificada dentro do objeto hstring . |
hstring::operator= (operador de atribuição) | Atribui um valor ao objeto hstring . |
Funções gratuitas
Função | Descrição |
---|---|
função attach_abi | Anexa um objeto hstring a um identificador a uma cadeia de caracteres Windows Runtime. |
função copy_from_abi | Copia para um objeto hstring de um identificador para uma cadeia de caracteres Windows Runtime. Limpa o hstring, copia o parâmetro e começa a gerenciar o identificador. |
função copy_to_abi | Copia para um identificador para uma cadeia de caracteres Windows Runtime de um objeto hstring. |
função detach_abi | Desanexa um objeto hstring de seu identificador, talvez para devolvê-lo a um chamador. |
função to_hstring | Converte um valor de entrada em um winrt::hstring que contém a representação de cadeia de caracteres do valor. |
Operadores gratuitos
Operador | Descrição |
---|---|
operator!= (operador de desigualdade) | Retorna um valor que indica se os dois parâmetros são diferentes um do outro. |
operator+ (operador de concatenação) | Retorna um novo objeto hstring resultante da concatenação dos dois parâmetros juntos. |
operador< (operador menor que) | Retorna um valor que indica se o primeiro parâmetro é menor que o segundo parâmetro. |
operator<= (operador menor que ou igual a) | Retorna um valor que indica se o primeiro parâmetro é menor ou igual ao segundo parâmetro. |
operator== (operador de igualdade) | Retorna um valor que indica se os dois parâmetros são iguais um ao outro. |
operador> (operador maior que) | Retorna um valor que indica se o primeiro parâmetro é maior que o segundo parâmetro. |
operator>= (operador maior que ou igual a) | Retorna um valor que indica se o primeiro parâmetro é maior ou igual ao segundo parâmetro. |
Iterators
Uma hstring é um intervalo e esse intervalo é definido pelas funções de membro hstring::begin e hstring::end , cada uma das quais retorna um iterador const (assim como hstring::cbegin e hstring::cend). Por isso, você pode enumerar os caracteres em um objeto hstring com uma instrução baseada em for
intervalo ou com a função de modelo 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; });
}
Construtor hstring::hstring
Inicializa uma nova instância do struct hstring com uma cópia dos dados da cadeia de caracteres de entrada.
Sintaxe
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);
Parâmetros
h
Um valor hstring que inicializa o objeto hstring .
v
Um valor std::wstring_view que inicializa o objeto hstring .
c
Um ponteiro para uma matriz de wchar_t constante que inicializa o objeto hstring .
s
Um número que especifica um tamanho fixo para o objeto hstring .
Exemplo
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 };
}
Função hstring::back
Retorna uma referência ao último caractere no objeto hstring .
Sintaxe
wchar_t const& back() const noexcept;
Retornar valor
Uma referência ao último caractere no objeto hstring .
Função hstring::begin
Retorna um iterador const para o primeiro caractere no objeto hstring . Consulte Iteradores.
Sintaxe
wchar_t const* begin() const noexcept;
Retornar valor
Um iterador const para o primeiro caractere no objeto hstring .
Função hstring::c_str
Retorna um ponteiro para a cadeia de caracteres de estilo C terminada em nulo subjacente dos caracteres no objeto hstring ; nenhuma cópia é feita.
Sintaxe
wchar_t const* c_str() const noexcept;
Retornar valor
Um ponteiro para a cadeia de caracteres de estilo C terminada em nulo subjacente dos caracteres no objeto hstring ; nenhuma cópia é feita.
Exemplo
#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;
}
Função hstring::cbegin
Retorna um iterador const para o primeiro caractere no objeto hstring . Consulte Iteradores.
Sintaxe
wchar_t const* cbegin() const noexcept;
Retornar valor
Um iterador const para o primeiro caractere no objeto hstring .
Função hstring::cend
Retorna um iterador const para um além do final de (um além do último caractere em) do objeto hstring . Consulte Iteradores.
Sintaxe
wchar_t const* cend() const noexcept;
Retornar valor
Um iterador const para um além do final de (um além do último caractere em) do objeto hstring .
Função hstring::clear
Torna o objeto hstring vazio.
Syntax
void clear() noexcept;
Função hstring::crbegin
Retorna um iterador inverso const para um além do final de (um além do último caractere em) do objeto hstring .
Sintaxe
std::reverse_iterator<wchar_t const*> crbegin() const noexcept;
Retornar valor
Um iterador inverso const para um além do final de (um além do último caractere em) do objeto hstring .
Função hstring::crend
Retorna um iterador inverso const para o primeiro caractere no objeto hstring .
Sintaxe
std::reverse_iterator<wchar_t const*> crend() const noexcept;
Retornar valor
Um iterador inverso const para o primeiro caractere no objeto hstring .
Função hstring::d ata
Retorna uma versão de cadeia de caracteres de estilo C terminada em nulo dos caracteres no objeto hstring .
Sintaxe
wchar_t const* data() const noexcept;
Retornar valor
Uma versão de cadeia de caracteres de estilo C terminada em nulo dos caracteres no objeto hstring .
Exemplo
#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;
}
Função hstring::empty
Retorna um valor que indica se o objeto hstring está vazio.
Sintaxe
bool empty() const noexcept;
Retornar valor
true
se o objeto hstring estiver vazio, caso contrário false
, .
Função hstring::end
Retorna um iterador const para um além do final de (um além do último caractere em) do objeto hstring . Consulte Iteradores.
Sintaxe
wchar_t const* end() const noexcept;
Retornar valor
Um iterador const para um além do final de (um além do último caractere em) do objeto hstring .
Função hstring::front
Retorna uma referência ao primeiro caractere no objeto hstring .
Sintaxe
wchar_t const& front() const noexcept;
Retornar valor
Uma referência ao primeiro caractere no objeto hstring .
hstring::operator std::wstring_view
Converte o objeto hstring em um std::wstring_view.
Sintaxe
operator std::wstring_view() const noexcept;
Retornar valor
O objeto hstring convertido em um std::wstring_view.
Exemplo
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[] (operador subscrito)
Retorna uma referência ao caractere na posição especificada dentro do objeto hstring .
Sintaxe
wchar_t const& operator[](uint32_t pos) const noexcept;
Parâmetros
pos
Uma posição de caractere baseada em zero ou um índice.
Retornar valor
Uma referência ao caractere na posição especificada dentro do objeto hstring .
hstring::operator= (operador de atribuição)
Atribui um valor ao objeto hstring .
Sintaxe
winrt::hstring& operator=(winrt::hstring const& h);
winrt::hstring& operator=(std::wstring_view const& v);
Parâmetros
h
Um valor hstring a ser atribuído ao objeto hstring .
v
Um valor std::wstring_view a ser atribuído ao objeto hstring .
Retornar valor
Uma referência ao objeto hstring .
Função hstring::rbegin
Retorna um iterador inverso const para um além do final de (um além do último caractere em) do objeto hstring .
Sintaxe
std::reverse_iterator<wchar_t const*> rbegin() const noexcept;
Retornar valor
Um iterador inverso const para um além do final de (um além do último caractere em) do objeto hstring .
Função hstring::rend
Retorna um iterador inverso const para o primeiro caractere no objeto hstring .
Sintaxe
std::reverse_iterator<wchar_t const*> rend() const noexcept;
Retornar valor
Um iterador inverso const para o primeiro caractere no objeto hstring .
Função hstring::size
Retorna o número de caracteres no objeto hstring .
Sintaxe
uint32_t size() const noexcept;
Retornar valor
Um uint32_t que contém o número de caracteres no objeto hstring .
função attach_abi
Anexa um objeto hstring a um identificador a uma cadeia de caracteres Windows Runtime.
Sintaxe
void attach_abi(winrt::hstring& object, HSTRING value) noexcept;
Parâmetros
object
Um objeto hstring no qual operar.
value
Um identificador para uma cadeia de caracteres Windows Runtime.
função copy_from_abi
Copia para um objeto hstring de um identificador para uma cadeia de caracteres Windows Runtime. Limpa o hstring, copia o parâmetro e começa a gerenciar o identificador.
Sintaxe
void copy_from_abi(winrt::hstring& object, HSTRING value);
Parâmetros
object
Um objeto hstring no qual operar.
value
Um identificador para uma cadeia de caracteres Windows Runtime.
função copy_to_abi
Copia para um identificador para uma cadeia de caracteres Windows Runtime de um objeto hstring.
Sintaxe
void copy_to_abi(winrt::hstring const& object, HSTRING& value);
Parâmetros
object
Um objeto hstring no qual operar.
value
Uma referência de identificador, por meio da qual copiar o identificador do hstring.
função detach_abi
Desanexa um objeto hstring de seu identificador, talvez para devolvê-lo a um chamador.
Sintaxe
HSTRING detach_abi(winrt::hstring& object) noexcept;
HSTRING detach_abi(winrt::hstring&& object) noexcept;
Parâmetros
object
Um objeto hstring no qual operar.
Retornar valor
O identificador para a cadeia de caracteres Windows Runtime.
operator!= (operador de desigualdade)
Retorna um valor que indica se os dois parâmetros são diferentes um do outro.
Sintaxe
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;
Parâmetros
hLeft
hRight
Um valor hstring a ser comparado com o outro parâmetro.
wLeft
wRight
Um std::wstring
valor a ser comparado com o outro parâmetro.
cLeft
cRight
Um ponteiro para uma matriz de wchar_t constantes a serem comparadas com o outro parâmetro.
Retornar valor
true
se os dois parâmetros forem diferentes um do outro, caso contrário false
, .
operator+ (operador de concatenação)
Retorna um novo objeto hstring resultante da concatenação dos dois parâmetros juntos.
Sintaxe
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);
Parâmetros
hLeft
hRight
Um valor hstring para concatenar com o outro parâmetro.
wLeft
wRight
Um std::wstring
valor a ser concatenar com o outro parâmetro.
vLeft
vRight
Um valor std::wstring_view para concatenar com o outro parâmetro.
cLeft
cRight
Um ponteiro para uma matriz de wchar_t constantes para concatenar com o outro parâmetro.
scLeft
scRight
Um wchar_t para concatenar com o outro parâmetro.
Retornar valor
Um novo objeto hstring resultante da concatenação dos dois parâmetros juntos.
operador< (operador menor que)
Retorna um valor que indica se o primeiro parâmetro é menor que o segundo parâmetro.
Sintaxe
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;
Parâmetros
hLeft
hRight
Um valor hstring a ser comparado com o outro parâmetro.
wLeft
wRight
Um std::wstring
valor a ser comparado com o outro parâmetro.
cLeft
cRight
Um ponteiro para uma matriz de wchar_t constantes a serem comparadas com o outro parâmetro.
Retornar valor
true
se o primeiro parâmetro for menor que o segundo parâmetro, caso contrário false
, .
operator<= (operador less-than-or-equal-to)
Retorna um valor que indica se o primeiro parâmetro é menor ou igual ao segundo parâmetro.
Sintaxe
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;
Parâmetros
hLeft
hRight
Um valor hstring a ser comparado com o outro parâmetro.
wLeft
wRight
Um std::wstring
valor a ser comparado com o outro parâmetro.
cLeft
cRight
Um ponteiro para uma matriz de wchar_t constantes a serem comparadas com o outro parâmetro.
Retornar valor
true
se o primeiro parâmetro for menor ou igual ao segundo parâmetro, caso contrário false
, .
operator== (operador de igualdade)
Retorna um valor que indica se os dois parâmetros são iguais um ao outro.
Sintaxe
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;
Parâmetros
hLeft
hRight
Um valor hstring a ser comparado com o outro parâmetro.
wLeft
wRight
Um std::wstring
valor a ser comparado com o outro parâmetro.
cLeft
cRight
Um ponteiro para uma matriz de wchar_t constantes a serem comparadas com o outro parâmetro.
Retornar valor
true
se os dois parâmetros forem iguais um ao outro, caso contrário false
, .
operador> (operador maior que)
Retorna um valor que indica se o primeiro parâmetro é maior que o segundo parâmetro.
Sintaxe
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;
Parâmetros
hLeft
hRight
Um valor hstring a ser comparado com o outro parâmetro.
wLeft
wRight
Um std::wstring
valor a ser comparado com o outro parâmetro.
cLeft
cRight
Um ponteiro para uma matriz de wchar_t constantes a serem comparadas com o outro parâmetro.
Retornar valor
true
se o primeiro parâmetro for maior que o segundo parâmetro, caso contrário false
, .
operator>= (operador maior que ou igual a)
Retorna um valor que indica se o primeiro parâmetro é maior ou igual ao segundo parâmetro.
Sintaxe
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;
Parâmetros
hLeft
hRight
Um valor hstring a ser comparado com o outro parâmetro.
wLeft
wRight
Um std::wstring
valor a ser comparado com o outro parâmetro.
cLeft
cRight
Um ponteiro para uma matriz de wchar_t constantes a serem comparadas com o outro parâmetro.
Retornar valor
true
se o primeiro parâmetro for maior ou igual ao segundo parâmetro, caso contrário false
, .
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de