Partager via


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

Collection séquentielle de caractères Unicode UTF-16 représentant une chaîne de texte. Pour plus d’exemples et d’informations sur winrt ::hstring, consultez gestion des chaînes en C++/WinRT.

Le type winrt ::hstring encapsule HSTRING derrière une interface similaire à celle de std ::wstring. Un HSTRING est un handle vers une chaîne Windows Runtime. Pour plus d’informations sur la définition d’un HSTRING dans un winrt ::hstring, et comment récupérer un HSTRING à partir d’unwinrt ::hstring , consultez Interopération avec leHSTRING d’ABI.

Syntaxe

struct hstring

Exigences

Kit de développement logiciel (SDK) minimum pris en charge : SDK Windows version 10.0.17134.0 (Windows 10, version 1803)

Namespace : winrt

en-tête : %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (inclus par défaut)

Alias de type membre

Nom de l’alias Type
hstring ::value_type Synonyme de wchar_t.
hstring ::size_type Synonyme de uint32_t.
hstring ::const_reference Synonyme de hstring ::value_type const&.
hstring ::const_pointer Synonyme de hstring ::value_type const*.
hstring ::const_iterator Synonyme de hstring ::const_pointer.
hstring ::const_reverse_iterator Synonyme de std ::reverse_iterator<hstring ::const_iterator>.

Constructeurs

Constructeur Description
constructeur hstring ::hstring Initialise une nouvelle instance du hstring struct avec une copie des données de chaîne d’entrée.

Fonctions membres

Fonction Description
fonction hstring ::back Renvoie une référence au dernier caractère de l’objet hstring.
fonction hstring ::begin Retourne un itérateur const au premier caractère de l’objet hstring.
fonction hstring ::c_str Retourne un pointeur vers la chaîne de style C terminée par null sous-jacente des caractères de l’objet hstring ; aucune copie n’est effectuée.
fonction hstring ::cbegin Retourne un itérateur const au premier caractère de l’objet hstring.
fonction hstring ::cend Retourne un itérateur const à un au-delà de la fin de (un au-delà du dernier caractère dans) l’objet hstring.
fonction hstring ::clear Rend l’objet hstring vide.
fonction hstring ::crbegin Retourne un itérateur inverse const à un au-delà de la fin de (un au-delà du dernier caractère dans) l’objet hstring.
fonction hstring ::crend Retourne un itérateur inverse const au premier caractère de l’objet hstring.
fonction hstring ::d ata Retourne une version de chaîne de style C terminée par null des caractères dans l’objet hstring.
fonction hstring ::empty Retourne une valeur indiquant si l’objet hstring est vide.
fonction hstring ::end Retourne un itérateur const à un au-delà de la fin de (un au-delà du dernier caractère dans) l’objet hstring.
fonction hstring ::front Renvoie une référence au premier caractère de l’objet hstring.
fonction hstring ::rbegin Retourne un itérateur inverse const à un au-delà de la fin de (un au-delà du dernier caractère dans) l’objet hstring.
fonction hstring ::rend Retourne un itérateur inverse const au premier caractère de l’objet hstring.
fonction hstring ::size Retourne le nombre de caractères dans l’objet hstring.

Opérateurs membres

Opérateur Description
hstring ::operator std ::wstring_view Convertit l’objet hstring en objet std ::wstring_view.
hstring ::operator[] (opérateur d’indice)) Retourne une référence au caractère à la position spécifiée dans l’objet hstring.
hstring ::operator= (opérateur d’affectation) Affecte une valeur à l’objet hstring.

Fonctions gratuites

Fonction Description
attach_abi fonction Attache un objet hstring à un handle à une chaîne Windows Runtime.
copy_from_abi fonction Copie dans un objet hstring d’un handle vers une chaîne Windows Runtime. Efface lehstring, copie le paramètre et commence à gérer le handle.
copy_to_abi fonction Copie dans un handle vers une chaîne Windows Runtime à partir d’un objet hstring.
detach_abi fonction Détache un objet hstring de son handle, peut-être pour le renvoyer à un appelant.
to_hstring fonction Convertit une valeur d’entrée en winrt ::hstring contenant la représentation sous forme de chaîne de la valeur.

Opérateurs gratuits

Opérateur Description
operator != (opérateur d’inégalité) Retourne une valeur indiquant si les deux paramètres sont inégaux les uns aux autres.
operator+ (opérateur de concaténation) Retourne un nouvel objet hstring résultant de la concaténation des deux paramètres.
opérateur< (opérateur inférieur à) Retourne une valeur indiquant si le premier paramètre est inférieur au deuxième paramètre.
opérateur<= (opérateur inférieur ou égal à) Retourne une valeur indiquant si le premier paramètre est inférieur ou égal au deuxième paramètre.
operator== (opérateur d’égalité) Retourne une valeur indiquant si les deux paramètres sont égaux les uns aux autres.
opérateur> (opérateur supérieur à) Retourne une valeur indiquant si le premier paramètre est supérieur au deuxième paramètre.
opérateur>= (opérateur supérieur ou égal à) Retourne une valeur indiquant si le premier paramètre est supérieur ou égal au deuxième paramètre.

Itérateurs

Un hstring est une plage et cette plage est définie par les fonctions membres hstring ::begin et hstring ::end membres, chacune retourne un itérateur const (comme hstring ::cbegin et hstring ::cend). Pour cette raison, vous pouvez énumérer les caractères d’un objet hstring avec une instruction for basée sur une plage ou avec la fonction de modèle 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, constructeur

Initialise une nouvelle instance du hstring struct avec une copie des données de chaîne d’entrée.

Syntaxe

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

Paramètres

Valeur de hstring qui initialise l’objet hstring.

Valeur std ::wstring_view qui initialise l’objet hstring.

c Pointeur vers un tableau d'wchar_t constante qui initialise l’objet hstring.

s Nombre qui spécifie une taille fixe pour l’objet hstring.

Exemple

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, fonction

Renvoie une référence au dernier caractère de l’objet hstring.

Syntaxe

wchar_t const& back() const noexcept;

Valeur de retour

Référence au dernier caractère de l’objet hstring.

hstring ::begin, fonction

Retourne un itérateur const au premier caractère de l’objet hstring. Consultez itérateurs.

Syntaxe

wchar_t const* begin() const noexcept;

Valeur de retour

Itérateur const au premier caractère de l’objet hstring.

hstring ::c_str, fonction

Retourne un pointeur vers la chaîne de style C terminée par null sous-jacente des caractères de l’objet hstring ; aucune copie n’est effectuée.

Syntaxe

wchar_t const* c_str() const noexcept;

Valeur de retour

Pointeur vers la chaîne de style C terminée par null sous-jacente des caractères dans l’objet hstring ; aucune copie n’est effectuée.

Exemple

#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, fonction

Retourne un itérateur const au premier caractère de l’objet hstring. Consultez itérateurs.

Syntaxe

wchar_t const* cbegin() const noexcept;

Valeur de retour

Itérateur const au premier caractère de l’objet hstring.

hstring ::cend, fonction

Retourne un itérateur const à un au-delà de la fin de (un au-delà du dernier caractère dans) l’objet hstring. Consultez itérateurs.

Syntaxe

wchar_t const* cend() const noexcept;

Valeur de retour

Itérateur const à un au-delà de la fin de (un au-delà du dernier caractère dans) le hstring objet.

hstring ::clear, fonction

Rend l’objet hstring vide.

Syntaxe

void clear() noexcept;

hstring ::crbegin, fonction

Retourne un itérateur inverse const à un au-delà de la fin de (un au-delà du dernier caractère dans) l’objet hstring.

Syntaxe

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

Valeur de retour

Itérateur inverse const à un au-delà de la fin de (un au-delà du dernier caractère dans) l’objet hstring.

hstring ::crend, fonction

Retourne un itérateur inverse const au premier caractère de l’objet hstring.

Syntaxe

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

Valeur de retour

Itérateur inverse const au premier caractère de l’objet hstring.

hstring ::d ata, fonction

Retourne une version de chaîne de style C terminée par null des caractères dans l’objet hstring.

Syntaxe

wchar_t const* data() const noexcept;

Valeur de retour

Version de chaîne de style C terminée par null des caractères dans l’objet hstring.

Exemple

#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, fonction

Retourne une valeur indiquant si l’objet hstring est vide.

Syntaxe

bool empty() const noexcept;

Valeur de retour

true si l’objet hstring est vide ; sinon, false.

hstring ::end, fonction

Retourne un itérateur const à un au-delà de la fin de (un au-delà du dernier caractère dans) l’objet hstring. Consultez itérateurs.

Syntaxe

wchar_t const* end() const noexcept;

Valeur de retour

Itérateur const à un au-delà de la fin de (un au-delà du dernier caractère dans) le hstring objet.

hstring ::front, fonction

Renvoie une référence au premier caractère de l’objet hstring.

Syntaxe

wchar_t const& front() const noexcept;

Valeur de retour

Référence au premier caractère de l’objet hstring.

hstring ::operator std ::wstring_view

Convertit l’objet hstring en objet std ::wstring_view.

Syntaxe

operator std::wstring_view() const noexcept;

Valeur de retour

Objet hstring converti en objet std ::wstring_view.

Exemple

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[] (opérateur d’indice)

Retourne une référence au caractère à la position spécifiée dans l’objet hstring.

Syntaxe

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

Paramètres

pos une position de caractère de base zéro ou un index.

Valeur de retour

Référence au caractère à la position spécifiée dans l’objet hstring.

hstring ::operator= (opérateur d’affectation)

Affecte une valeur à l’objet hstring.

Syntaxe

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

Paramètres

Valeur de de hstring à affecter à l’objet hstring.

Valeur std ::wstring_view à affecter à l’objet hstring.

Valeur de retour

Référence à l’objet hstring.

hstring ::rbegin, fonction

Retourne un itérateur inverse const à un au-delà de la fin de (un au-delà du dernier caractère dans) l’objet hstring.

Syntaxe

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

Valeur de retour

Itérateur inverse const à un au-delà de la fin de (un au-delà du dernier caractère dans) l’objet hstring.

hstring ::rend, fonction

Retourne un itérateur inverse const au premier caractère de l’objet hstring.

Syntaxe

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

Valeur de retour

Itérateur inverse const au premier caractère de l’objet hstring.

hstring ::size, fonction

Retourne le nombre de caractères dans l’objet hstring.

Syntaxe

uint32_t size() const noexcept;

Valeur de retour

Un uint32_t contenant le nombre de caractères dans l’objet hstring.

fonction attach_abi

Attache un objet hstring à un handle à une chaîne Windows Runtime.

Syntaxe

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

Paramètres

object objet hstring sur lequel opérer.

value handle A sur une chaîne Windows Runtime.

fonction copy_from_abi

Copie dans un objet hstring d’un handle vers une chaîne Windows Runtime. Efface lehstring, copie le paramètre et commence à gérer le handle.

Syntaxe

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

Paramètres

object objet hstring sur lequel opérer.

value handle A sur une chaîne Windows Runtime.

fonction copy_to_abi

Copie dans un handle vers une chaîne Windows Runtime à partir d’un objet hstring.

Syntaxe

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

Paramètres

object objet hstring sur lequel opérer.

value référence de handle, via laquelle copier le handle hstring.

fonction detach_abi

Détache un objet hstring de son handle, peut-être pour le renvoyer à un appelant.

Syntaxe

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

Paramètres

object objet hstring sur lequel opérer.

Valeur de retour

Handle de la chaîne Windows Runtime.

operator != (opérateur d’inégalité)

Retourne une valeur indiquant si les deux paramètres sont inégaux les uns aux autres.

Syntaxe

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;

Paramètres

Valeur de hstring à comparer avec l’autre paramètre.

wLeft wRight Valeur de std::wstring A à comparer avec l’autre paramètre.

cLeft cRight Pointeur vers un tableau de wchar_t constantes à comparer avec l’autre paramètre.

Valeur de retour

true si les deux paramètres sont inégaux les uns aux autres, sinon false.

operator+ (opérateur de concaténation)

Retourne un nouvel objet hstring résultant de la concaténation des deux paramètres.

Syntaxe

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

Paramètres

Valeur de hstring à concaténer avec l’autre paramètre.

wLeft wRight Valeur de std::wstring à concaténer avec l’autre paramètre.

vLeft vRight Valeur de std ::wstring_view à concaténer avec l’autre paramètre.

cLeft cRight pointeur vers un tableau d'wchar_t constantes à concaténer avec l’autre paramètre.

scLeft scRight un wchar_t à concaténer avec l’autre paramètre.

Valeur de retour

Un nouvel objet hstring résultant de la concaténation des deux paramètres ensemble.

opérateur< (opérateur inférieur à)

Retourne une valeur indiquant si le premier paramètre est inférieur au deuxième paramètre.

Syntaxe

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;

Paramètres

Valeur de hstring à comparer avec l’autre paramètre.

wLeft wRight Valeur de std::wstring A à comparer avec l’autre paramètre.

cLeft cRight Pointeur vers un tableau de wchar_t constantes à comparer avec l’autre paramètre.

Valeur de retour

true si le premier paramètre est inférieur au deuxième paramètre, sinon false.

opérateur<= (opérateur inférieur ou égal à)

Retourne une valeur indiquant si le premier paramètre est inférieur ou égal au deuxième paramètre.

Syntaxe

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;

Paramètres

Valeur de hstring à comparer avec l’autre paramètre.

wLeft wRight Valeur de std::wstring A à comparer avec l’autre paramètre.

cLeft cRight Pointeur vers un tableau de wchar_t constantes à comparer avec l’autre paramètre.

Valeur de retour

true si le premier paramètre est inférieur ou égal au deuxième paramètre, sinon false.

operator== (opérateur d’égalité)

Retourne une valeur indiquant si les deux paramètres sont égaux les uns aux autres.

Syntaxe

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;

Paramètres

Valeur de hstring à comparer avec l’autre paramètre.

wLeft wRight Valeur de std::wstring A à comparer avec l’autre paramètre.

cLeft cRight Pointeur vers un tableau de wchar_t constantes à comparer avec l’autre paramètre.

Valeur de retour

true si les deux paramètres sont égaux les uns aux autres, sinon false.

opérateur> (opérateur supérieur à)

Retourne une valeur indiquant si le premier paramètre est supérieur au deuxième paramètre.

Syntaxe

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;

Paramètres

Valeur de hstring à comparer avec l’autre paramètre.

wLeft wRight Valeur de std::wstring A à comparer avec l’autre paramètre.

cLeft cRight Pointeur vers un tableau de wchar_t constantes à comparer avec l’autre paramètre.

Valeur de retour

true si le premier paramètre est supérieur au deuxième paramètre, sinon false.

opérateur>= (opérateur supérieur ou égal à)

Retourne une valeur indiquant si le premier paramètre est supérieur ou égal au deuxième paramètre.

Syntaxe

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;

Paramètres

Valeur de hstring à comparer avec l’autre paramètre.

wLeft wRight Valeur de std::wstring A à comparer avec l’autre paramètre.

cLeft cRight Pointeur vers un tableau de wchar_t constantes à comparer avec l’autre paramètre.

Valeur de retour

true si le premier paramètre est supérieur ou égal au deuxième paramètre, sinon false.

Voir aussi