estructura winrt::hstring (C++/WinRT)
Colección secuencial de caracteres Unicode UTF-16 que representan una cadena de texto. Para obtener más ejemplos e información sobre winrt::hstring, consulta control de cadenas en C++/WinRT.
El tipo winrt::hstring encapsula HSTRING detrás de una interfaz similar a la de std::wstring. Un HSTRING es un identificador de una cadena de Windows Runtime. Para obtener información sobre cómo establecer un HSTRING
Sintaxis
struct hstring
Requisitos
SDK mínimo admitido: Windows SDK versión 10.0.17134.0 (Windows 10, versión 1803)
Namespace: winrt
encabezado : %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (incluido de forma predeterminada)
Alias de tipo de miembro
Nombre del alias | Tipo |
---|---|
hstring::value_type | Sinónimo de wchar_t. |
hstring::size_type | Sinónimo de uint32_t. |
hstring::const_reference | Sinónimo de hstring::value_type const&. |
hstring::const_pointer | Sinónimo de hstring::value_type const*. |
hstring::const_iterator | Sinónimo de hstring::const_pointer. |
hstring::const_reverse_iterator | Sinónimo de std::reverse_iterator<hstring::const_iterator>. |
Constructores
Constructor | Descripción |
---|---|
constructor hstring::hstring | Inicializa una nueva instancia del hstring estructura con una copia de los datos de cadena de entrada. |
Funciones miembro
Función | Descripción |
---|---|
de función hstring::back | Devuelve una referencia al último carácter del objeto hstring. |
de función hstring::begin | Devuelve un iterador const al primer carácter del objeto hstring. |
función hstring::c_str | Devuelve un puntero a la cadena de estilo C terminada en NULL subyacente de los caracteres del objeto hstring; no se realiza ninguna copia. |
función hstring::cbegin | Devuelve un iterador const al primer carácter del objeto hstring. |
función hstring::cend | Devuelve un iterador const a uno más allá del final de (uno más allá del último carácter de) el objeto hstring. |
de función hstring::clear | Hace que el hstring objeto esté vacío. |
función hstring::crbegin | Devuelve un iterador inverso const a uno más allá del final de (uno más allá del último carácter de) el objeto hstring. |
función hstring::crend | Devuelve un iterador inverso const al primer carácter del objeto hstring. |
función hstring::d ata | Devuelve una versión de cadena de estilo C terminada en null de los caracteres del objeto hstring. |
de función hstring::empty | Devuelve un valor que indica si el objeto hstring está vacío. |
de función hstring::end | Devuelve un iterador const a uno más allá del final de (uno más allá del último carácter de) el objeto hstring. |
de función hstring::front | Devuelve una referencia al primer carácter del objeto hstring. |
función hstring::rbegin | Devuelve un iterador inverso const a uno más allá del final de (uno más allá del último carácter de) el objeto hstring. |
función hstring::rend | Devuelve un iterador inverso const al primer carácter del objeto hstring. |
función hstring::size | Devuelve el número de caracteres del objeto hstring. |
Operadores de miembro
Operador | Descripción |
---|---|
hstring::operator std::wstring_view | Convierte el objeto de |
hstring::operator[] (operador de subíndice)) | Devuelve una referencia al carácter situado en la posición especificada dentro del objeto hstring. |
hstring::operator= (operador de asignación) | Asigna un valor al objeto hstring. |
Funciones gratuitas
Función | Descripción |
---|---|
attach_abi función | Asocia un objeto hstring a un identificador a una cadena de Windows Runtime. |
de función |
Copia en un objeto hstring de un identificador a una cadena de Windows Runtime. Borra el hstring, copia el parámetro y comienza a administrar el identificador. |
copy_to_abi de función | Copia en un identificador a una cadena de Windows Runtime desde un objeto hstring. |
detach_abi de función | Desasocia un objeto hstring de su identificador, quizás para devolverlo a un autor de llamada. |
to_hstring de función | Convierte un valor de entrada en un winrt::hstring que contiene la representación de cadena del valor. |
Operadores gratuitos
Operador | Descripción |
---|---|
operador != (operador de desigualdad) | Devuelve un valor que indica si los dos parámetros son distintos entre sí. |
operador+ (operador de concatenación) | Devuelve un nuevo objeto hstring resultante de concatenar los dos parámetros juntos. |
operador< (operador menor que) | Devuelve un valor que indica si el primer parámetro es menor que el segundo parámetro. |
operador<= (operador menor o igual que) | Devuelve un valor que indica si el primer parámetro es menor o igual que el segundo parámetro. |
operator== (operador de igualdad) | Devuelve un valor que indica si los dos parámetros son iguales entre sí. |
operador> (operador mayor que) | Devuelve un valor que indica si el primer parámetro es mayor que el segundo parámetro. |
operador>= (operador mayor o igual que) | Devuelve un valor que indica si el primer parámetro es mayor o igual que el segundo parámetro. |
Iteradores
Un hstring es un intervalo y ese intervalo se define mediante la hstring::begin y hstring::end funciones miembro, cada una de las cuales devuelve un iterador const (al igual que hstring::cbegin y hstring::cend). Por este motivo, puede enumerar los caracteres de un objeto de
#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)
Inicializa una nueva instancia del hstring estructura con una copia de los datos de cadena de entrada.
Sintaxis
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
v
valor std::wstring_view que inicializa el objeto hstring.
c
puntero a una matriz de constantes wchar_t que inicializa el objeto hstring.
Ejemplo
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 (función)
Devuelve una referencia al último carácter del objeto hstring.
Sintaxis
wchar_t const& back() const noexcept;
Valor devuelto
Referencia al último carácter del objeto hstring.
hstring::begin (función)
Devuelve un iterador const al primer carácter del objeto hstring. Consulte iteradores.
Sintaxis
wchar_t const* begin() const noexcept;
Valor devuelto
Iterador const al primer carácter del objeto hstring.
Función hstring::c_str
Devuelve un puntero a la cadena de estilo C terminada en NULL subyacente de los caracteres del objeto hstring; no se realiza ninguna copia.
Sintaxis
wchar_t const* c_str() const noexcept;
Valor devuelto
Puntero a la cadena de estilo C terminada en null subyacente de los caracteres del objeto hstring; no se realiza ninguna copia.
Ejemplo
#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 (función)
Devuelve un iterador const al primer carácter del objeto hstring. Consulte iteradores.
Sintaxis
wchar_t const* cbegin() const noexcept;
Valor devuelto
Iterador const al primer carácter del objeto hstring.
hstring::cend (Función)
Devuelve un iterador const a uno más allá del final de (uno más allá del último carácter de) el objeto hstring. Consulte iteradores.
Sintaxis
wchar_t const* cend() const noexcept;
Valor devuelto
Iterador const a uno más allá del final de (uno más allá del último carácter de) el objeto hstring.
hstring::clear (función)
Hace que el hstring objeto esté vacío.
Sintaxis
void clear() noexcept;
hstring::crbegin (función)
Devuelve un iterador inverso const a uno más allá del final de (uno más allá del último carácter de) el objeto hstring.
Sintaxis
std::reverse_iterator<wchar_t const*> crbegin() const noexcept;
Valor devuelto
Iterador inverso const a uno más allá del final de (uno más allá del último carácter de) el objeto hstring.
hstring::crend (Función)
Devuelve un iterador inverso const al primer carácter del objeto hstring.
Sintaxis
std::reverse_iterator<wchar_t const*> crend() const noexcept;
Valor devuelto
Iterador inverso const al primer carácter del objeto hstring.
hstring::d ata (función)
Devuelve una versión de cadena de estilo C terminada en null de los caracteres del objeto hstring.
Sintaxis
wchar_t const* data() const noexcept;
Valor devuelto
Una versión de cadena de estilo C terminada en null de los caracteres del objeto hstring .
Ejemplo
#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 (Función)
Devuelve un valor que indica si el objeto hstring está vacío.
Sintaxis
bool empty() const noexcept;
Valor devuelto
true
si el objeto hstring está vacío; de lo contrario, false
.
hstring::end (Función)
Devuelve un iterador const a uno más allá del final de (uno más allá del último carácter de) el objeto hstring. Consulte iteradores.
Sintaxis
wchar_t const* end() const noexcept;
Valor devuelto
Iterador const a uno más allá del final de (uno más allá del último carácter de) el objeto hstring.
hstring::front (Función)
Devuelve una referencia al primer carácter del objeto hstring.
Sintaxis
wchar_t const& front() const noexcept;
Valor devuelto
Referencia al primer carácter del objeto hstring.
hstring::operator std::wstring_view
Convierte el objeto de
Sintaxis
operator std::wstring_view() const noexcept;
Valor devuelto
Objeto hstring convertido en un std::wstring_view.
Ejemplo
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 de subíndice)
Devuelve una referencia al carácter situado en la posición especificada dentro del objeto hstring.
Sintaxis
wchar_t const& operator[](uint32_t pos) const noexcept;
Parámetros
pos
una posición de caracteres de base cero o índice.
Valor devuelto
Referencia al carácter situado en la posición especificada dentro del objeto hstring.
hstring::operator= (operador de asignación)
Asigna un valor al objeto hstring.
Sintaxis
winrt::hstring& operator=(winrt::hstring const& h);
winrt::hstring& operator=(std::wstring_view const& v);
Parámetros
Valor devuelto
Referencia al objeto de
hstring::rbegin (función)
Devuelve un iterador inverso const a uno más allá del final de (uno más allá del último carácter de) el objeto hstring.
Sintaxis
std::reverse_iterator<wchar_t const*> rbegin() const noexcept;
Valor devuelto
Iterador inverso const a uno más allá del final de (uno más allá del último carácter de) el objeto hstring.
hstring::rend (función)
Devuelve un iterador inverso const al primer carácter del objeto hstring.
Sintaxis
std::reverse_iterator<wchar_t const*> rend() const noexcept;
Valor devuelto
Iterador inverso const al primer carácter del objeto hstring.
hstring::size (Función)
Devuelve el número de caracteres del objeto hstring.
Sintaxis
uint32_t size() const noexcept;
Valor devuelto
Un uint32_t que contiene el número de caracteres del objeto hstring.
función attach_abi
Asocia un objeto hstring a un identificador a una cadena de Windows Runtime.
Sintaxis
void attach_abi(winrt::hstring& object, HSTRING value) noexcept;
Parámetros
object
Objeto hstring en el que operar.
value
un identificador de una cadena de Windows Runtime.
función copy_from_abi
Copia en un objeto hstring de un identificador a una cadena de Windows Runtime. Borra el hstring, copia el parámetro y comienza a administrar el identificador.
Sintaxis
void copy_from_abi(winrt::hstring& object, HSTRING value);
Parámetros
object
Objeto hstring en el que operar.
value
un identificador de una cadena de Windows Runtime.
función copy_to_abi
Copia en un identificador a una cadena de Windows Runtime desde un objeto hstring.
Sintaxis
void copy_to_abi(winrt::hstring const& object, HSTRING& value);
Parámetros
object
Objeto hstring en el que operar.
value
Referencia de identificador, a través de la cual se copia el identificador de hstring .
función detach_abi
Desasocia un objeto hstring de su identificador, quizás para devolverlo a un autor de llamada.
Sintaxis
HSTRING detach_abi(winrt::hstring& object) noexcept;
HSTRING detach_abi(winrt::hstring&& object) noexcept;
Parámetros
object
Objeto hstring en el que operar.
Valor devuelto
Identificador de la cadena de Windows Runtime.
operator!= (operador de desigualdad)
Devuelve un valor que indica si los dos parámetros son distintos entre sí.
Sintaxis
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
wLeft
wRight
valor de std::wstring
que se va a comparar con el otro parámetro.
cLeft
cRight
puntero a una matriz de constantes wchar_t comparar con el otro parámetro.
Valor devuelto
true
si los dos parámetros no son iguales entre sí; de lo contrario, false
.
operator+ (operador de concatenación)
Devuelve un nuevo objeto hstring resultante de concatenar los dos parámetros juntos.
Sintaxis
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
Valor de hstring para concatenar con el otro parámetro.
wLeft
wRight
valor de std::wstring
que se va a concatenar con el otro parámetro.
vLeft
vRight
valor std::wstring_view que se va a concatenar con el otro parámetro.
cLeft
cRight
puntero a una matriz de constantes wchar_t para concatenar con el otro parámetro.
scLeft
scRight
un wchar_t para concatenar con el otro parámetro.
Valor devuelto
Nuevo objeto hstring resultante de concatenar los dos parámetros juntos.
operador< (operador menor que)
Devuelve un valor que indica si el primer parámetro es menor que el segundo parámetro.
Sintaxis
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
wLeft
wRight
valor de std::wstring
que se va a comparar con el otro parámetro.
cLeft
cRight
puntero a una matriz de constantes wchar_t comparar con el otro parámetro.
Valor devuelto
true
si el primer parámetro es menor que el segundo parámetro; de lo contrario, false
.
operator<= (operador menor o igual que)
Devuelve un valor que indica si el primer parámetro es menor o igual que el segundo parámetro.
Sintaxis
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
wLeft
wRight
valor de std::wstring
que se va a comparar con el otro parámetro.
cLeft
cRight
puntero a una matriz de constantes wchar_t comparar con el otro parámetro.
Valor devuelto
true
si el primer parámetro es menor o igual que el segundo parámetro; de lo contrario, false
.
operator== (operador de igualdad)
Devuelve un valor que indica si los dos parámetros son iguales entre sí.
Sintaxis
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
wLeft
wRight
valor de std::wstring
que se va a comparar con el otro parámetro.
cLeft
cRight
puntero a una matriz de constantes wchar_t comparar con el otro parámetro.
Valor devuelto
true
si los dos parámetros son iguales entre sí; de lo contrario, false
.
operador> (operador mayor que)
Devuelve un valor que indica si el primer parámetro es mayor que el segundo parámetro.
Sintaxis
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
wLeft
wRight
valor de std::wstring
que se va a comparar con el otro parámetro.
cLeft
cRight
puntero a una matriz de constantes wchar_t comparar con el otro parámetro.
Valor devuelto
true
si el primer parámetro es mayor que el segundo parámetro; de lo contrario, false
.
operator>= (operador mayor que o igual que)
Devuelve un valor que indica si el primer parámetro es mayor o igual que el segundo parámetro.
Sintaxis
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
wLeft
wRight
valor de std::wstring
que se va a comparar con el otro parámetro.
cLeft
cRight
puntero a una matriz de constantes wchar_t comparar con el otro parámetro.
Valor devuelto
true
si el primer parámetro es mayor o igual que el segundo parámetro; de lo contrario, false
.
Consulte también
- de espacio de nombres winrt
- control de cadenas en de C++/WinRT