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
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 le |
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 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
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 retour
Référence à l’objet
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 le
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
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
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
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
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
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
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
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
- espace de noms winrt
- gestion des chaînes en C++/WinRT