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

Colección secuencial de caracteres Unicode UTF-16 que representa 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 Windows Runtime. Para obtener información sobre cómo establecer un HSTRING en winrt::hstring y cómo volver a intentar un HSTRING desde winrt::hstring, consulta Interoperating with the ABI's HSTRING.

Sintaxis

struct hstring

Requisitos

SDK mínimo admitido: Windows SDK, versión 10.0.17134.0 (Windows 10, versión 1803)

Espacio de nombres: winrt

Encabezado: %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (incluido de forma predeterminada)

Alias de tipo de miembro

Nombre de 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
hstring::hstring (Constructor) Inicializa una nueva instancia de la estructura hstring con una copia de los datos de cadena de entrada.

Funciones miembro

Función Descripción
hstring::back (Función) Devuelve una referencia al último carácter del objeto hstring .
hstring::begin (Función) 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.
hstring::cbegin (Función) Devuelve un 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 .
hstring::clear (Función) Hace que el objeto hstring esté vacío.
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 .
hstring::crend (Función) Devuelve un 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 .
hstring::empty (Función) Devuelve un valor que indica si el objeto hstring está vacío.
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 .
hstring::front (Función) Devuelve una referencia al primer carácter del objeto hstring .
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 .
hstring::rend (Función) Devuelve un iterador inverso const al primer carácter del objeto hstring .
hstring::size (Función) Devuelve el número de caracteres del objeto hstring .

Operadores de miembro

Operador Descripción
hstring::operator std::wstring_view Convierte el objeto hstring en std::wstring_view.
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
Función attach_abi Asocia un objeto hstring a un identificador a una cadena de Windows Runtime.
Función copy_from_abi Copia en un objeto hstring desde un identificador a una cadena Windows Runtime. Borra el hstring, copia el parámetro y comienza a administrar el identificador.
Función copy_to_abi Copia en un identificador a una cadena de Windows Runtime desde un objeto hstring.
Función detach_abi Desasocia un objeto hstring de su identificador, quizás para devolverlo a un autor de llamada.
Función to_hstring Convierte un valor de entrada en winrt::hstring que contiene la representación de cadena del valor.

Operadores gratuitos

Operador Descripción
operator!= (operador de desigualdad) Devuelve un valor que indica si los dos parámetros no son iguales entre sí.
operator+ (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.
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.
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.
operator>= (operador mayor o igual que) Devuelve un valor que indica si el primer parámetro es mayor o igual que el segundo parámetro.

Iterators

Un hstring es un intervalo y ese intervalo se define mediante las funciones miembro hstring::begin y hstring::end , cada una de las cuales devuelve un iterador const (como hstring::cbegin y hstring::cend). Por este motivo, puede enumerar los caracteres de un objeto hstring con una instrucción basada en for intervalos o con la función de plantilla 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)

Inicializa una nueva instancia de la estructura hstring 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

h Valor hstring que inicializa el objeto hstring .

v Valor std::wstring_view que inicializa el objeto hstring .

c Puntero a una matriz de constantes wchar_t que inicializa el objeto hstring .

s Número que especifica un tamaño fijo para 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 . Vea 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 . Vea 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 . Vea 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) del objeto hstring .

hstring::clear (función)

Hace que el objeto hstring esté vacío.

Syntax

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 .

Función hstring::d ata

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 es si el objeto hstring está vacío; de lo contrario false, es .

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 . Vea 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) del 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 hstring en un std::wstring_view.

Sintaxis

operator std::wstring_view() const noexcept;

Valor devuelto

Objeto hstring convertido en 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 Posición de caracteres de base cero o índice.

Valor devuelto

Referencia al carácter 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

h Valor hstring que se va a asignar al objeto hstring .

v Valor std::wstring_view que se va a asignar al objeto hstring .

Valor devuelto

Referencia al objeto hstring .

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 se va a operar.

valueIdentificador de una cadena de Windows Runtime.

Función copy_from_abi

Copia en un objeto hstring desde un identificador a una cadena 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 se va a operar.

valueIdentificador 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 se va a 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 se va a operar.

Valor devuelto

Identificador de la cadena Windows Runtime.

operator!= (operador de desigualdad)

Devuelve un valor que indica si los dos parámetros no 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

hLefthRight Valor hstring que se va a comparar con el otro parámetro.

wLeftwRight Valor std::wstring que se va a comparar con el otro parámetro.

cLeftcRight Puntero a una matriz de constantes wchar_t comparar con el otro parámetro.

Valor devuelto

true es si los dos parámetros no son iguales entre sí; de lo contrario false, es .

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

hLefthRight Valor hstring que se va a concatenar con el otro parámetro.

wLeftwRight Valor std::wstring que se va a concatenar con el otro parámetro.

vLeftvRight Valor std::wstring_view que se va a concatenar con el otro parámetro.

cLeftcRight Puntero a una matriz de constantes wchar_t para concatenar con el otro parámetro.

scLeftscRight 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

hLefthRight Valor hstring que se va a comparar con el otro parámetro.

wLeftwRight Valor std::wstring que se va a comparar con el otro parámetro.

cLeftcRight Puntero a una matriz de constantes wchar_t comparar con el otro parámetro.

Valor devuelto

true es si el primer parámetro es menor que el segundo parámetro; de lo contrario false, es .

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

hLefthRight Valor hstring que se va a comparar con el otro parámetro.

wLeftwRight Valor std::wstring que se va a comparar con el otro parámetro.

cLeftcRight 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

hLefthRight Valor hstring que se va a comparar con el otro parámetro.

wLeftwRight Valor std::wstring que se va a comparar con el otro parámetro.

cLeftcRight Puntero a una matriz de constantes wchar_t comparar con el otro parámetro.

Valor devuelto

true es si los dos parámetros son iguales entre sí; de lo contrario false, es .

operador> (operador mayor que)

Devuelve un valor que indica si el primer parámetro es mayor que el segundo.

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

hLefthRight Valor hstring que se va a comparar con el otro parámetro.

wLeftwRight Valor std::wstring que se va a comparar con el otro parámetro.

cLeftcRight 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 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

hLefthRight Valor hstring que se va a comparar con el otro parámetro.

wLeftwRight Valor std::wstring que se va a comparar con el otro parámetro.

cLeftcRight 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