winrt::array_view, modèle de struct (C++/WinRT)

Vue, ou étendue, d’une série contiguë de valeurs. Pour plus d’exemples et d’informations sur winrt ::array_view, consultez Types de données C++ Standard et C++/WinRT.

Syntax

template <typename T>
struct array_view

Paramètres de modèle

typename T Type des valeurs (éléments) que le array_view affiche ou couvre.

Configuration requise

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

Espace de noms : winrt

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

Alias de type de membre

Nom d'alias Type
array_view ::value_type Synonyme du paramètre de typename T modèle.
array_view ::size_type Synonyme de uint32_t.
array_view ::reference Synonyme de array_view ::value_type&.
array_view ::const_reference Synonyme de array_view ::value_type const&.
array_view ::p ointer Synonyme de array_view ::value_type*.
array_view ::const_pointer Synonyme de array_view ::value_type const*.
array_view ::iterator Synonyme d’un itérateur de tableau défini par l’implémentation de array_view ::value_type.
array_view ::const_iterator Synonyme d’un itérateur de tableau défini par l’implémentation de array_view ::value_type const.
array_view ::reverse_iterator Synonyme de std ::reverse_iterator<array_view ::iterator>.
array_view ::const_reverse_iterator Synonyme de std ::reverse_iterator<array_view ::const_iterator>.

Constructeurs

Constructeur Description
constructeur array_view ::array_view Initialise une nouvelle instance du struct array_view en tant que vue sur (et non une copie) des données d’entrée.

Fonctions Membre

Fonction Description
array_view ::at, fonction Retourne une référence à l’élément à la position spécifiée dans l’objet array_view .
array_view ::back, fonction Retourne une référence au dernier élément de l’objet array_view .
array_view ::begin, fonction Retourne un itérateur au premier élément de l’objet array_view .
array_view ::cbegin, fonction Retourne un itérateur const au premier élément de l’objet array_view .
array_view ::cend, fonction Retourne un itérateur const à un au-delà de la fin de (un au-delà du dernier élément dans) de l’objet array_view .
array_view ::crbegin, fonction Retourne un itérateur inverse const à un au-delà de la fin de (un au-delà du dernier élément dans) de l’objet array_view .
array_view ::crend, fonction Retourne un itérateur inverse const au premier élément de l’objet array_view .
array_view ::d ata, fonction Retourne un pointeur vers les données sous-jacentes consultées par l’objet array_view .
array_view ::empty, fonction Retourne une valeur indiquant si l’objet array_view est vide (est une vue sur zéro élément).
array_view ::end, fonction Retourne un itérateur à un au-delà de la fin de (un au-delà du dernier élément dans) de l’objet array_view .
array_view ::front, fonction Retourne une référence au premier élément de l’objet array_view .
array_view ::rbegin, fonction Retourne un itérateur inverse à un au-delà de la fin de (un au-delà du dernier élément dans) de l’objet array_view .
array_view ::rend, fonction Retourne un itérateur inverse au premier élément de l’objet array_view .
array_view ::size, fonction Retourne le nombre d’éléments dans l’objet array_view .

Opérateurs membres

Opérateur Description
array_view ::operator[] (opérateur indice) Retourne une référence à l’élément à la position spécifiée dans l’objet array_view .

Opérateurs gratuits

Opérateur Description
operator != (opérateur d’inégalité) Retourne une valeur indiquant si les deux paramètres sont inégaux l’un à l’autre.
opérateur< (opérateur inférieur à) Retourne une valeur indiquant si le premier paramètre est inférieur au deuxième paramètre.
operator<= (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 l’un à l’autre.
opérateur> (opérateur supérieur à) Retourne une valeur indiquant si le premier paramètre est supérieur au deuxième paramètre.
operator>= (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.

Iterators

Une array_view est une plage et cette plage est définie par les fonctions membres array_view ::begin et array_view ::end , chacune d’elles retournant un itérateur (voir également array_view ::cbegin et array_view ::cend). Pour cette raison, vous pouvez énumérer les caractères d’un objet array_view avec une instruction basée sur for une plage ou avec la fonction de modèle std ::for_each .

#include <iostream>
using namespace winrt;
...
template <typename T>
void Iterators(array_view<T> const& theArrayView)
{
    for (T& element : theArrayView)
    {
        std::wcout << element << " ";
    }

    std::for_each(theArrayView.cbegin(), theArrayView.cend(), [](T const& element) { std::wcout << element << " "; });
}

constructeur array_view ::array_view

Initialise une nouvelle instance du struct array_view en tant que vue sur (et non une copie) des données d’entrée.

Syntax

array_view() noexcept;
template <typename C, uint32_t N> array_view(C(&rawArrayValue)[N]) noexcept;
template <typename C, uint32_t N> array_view(std::array<C, N> const& arrayValue) noexcept;
template <typename C, uint32_t N> array_view(std::array<C, N>& arrayValue) noexcept;
array_view(std::initializer_list<T> initializerListValue) noexcept;
template <typename C> array_view(std::vector<C> const& vectorValue) noexcept;
template <typename C> array_view(std::vector<C>& vectorValue) noexcept;
array_view(T* first, T* last) noexcept;

Paramètres de modèle

typename C Type des valeurs (éléments) dans les données d’entrée.

uint32_t N Nombre de valeurs (éléments) dans les données d’entrée.

Paramètres

rawArrayValue Valeur de tableau brute qui initialise l’objet array_view .

arrayValue Valeur std ::array qui initialise l’objet array_view .

initializerListValue Valeur de liste d’initialiseurs qui initialise l’objet array_view .

vectorValue Valeur std ::vector qui initialise l’objet array_view .

firstlast Pointeurs vers les valeurs avec lesquelles initialiser l’objet array_view . Si first est lastégal à , l’objet array_view est vide.

Exemple

using namespace winrt;
...
void Constructors()
{
    // array_view() noexcept
    array_view<byte const> fromDefault{};

    byte theRawArray[]{ 99, 98, 97 };

    // template <typename C, uint32_t N> array_view(C(&value)[N]) noexcept
    array_view<byte const> fromRawArray{ theRawArray };

    const std::array<byte, 3> theConstArray{ 99, 98, 97 };

    // template <typename C, uint32_t N> array_view(std::array<C, N>& value) noexcept
    array_view<byte const> fromConstArray{ theConstArray };

    std::array<byte, 3> theArray{ 99, 98, 97 };

    // template <typename C, uint32_t N> array_view(std::array<C, N> const& value) noexcept
    array_view<byte const> fromArray{ theArray };

    // array_view(std::initializer_list<T> value) noexcept
    array_view<byte const> fromInitializerList{ 99, 98, 97 };

    const std::vector<byte> theConstVector{ 99, 98, 97 };

    // template <typename C> array_view(std::vector<C> const& value) noexcept
    array_view<byte const> fromConstVector{ theConstVector };

    std::vector<byte> theVector{ 99, 98, 97 };

    // template <typename C> array_view(std::vector<C>& value) noexcept
    array_view<byte const> fromVector{ theVector };

    // array_view(T* first, T* last) noexcept
    array_view<byte const> fromRange{ theArray.data(), theArray.data() + 2 }; // just the first two elements.
}

array_view ::at, fonction

Retourne une référence à l’élément à la position spécifiée dans l’objet array_view .

Syntaxe

T& at(uint32_t const pos);
T const& at(uint32_t const pos) const;

Paramètres

pos Position d’élément de base zéro, ou index.

Valeur retournée

Référence à l’élément à la position spécifiée dans l’objet array_view .

array_view ::back, fonction

Retourne une référence au dernier élément de l’objet array_view .

Syntaxe

T const& back() const noexcept;
T& back() noexcept;

Valeur de retour

Référence au dernier élément de l’objet array_view .

array_view ::begin, fonction

Retourne un itérateur au premier élément de l’objet array_view . Voir Itérateurs.

Syntaxe

stdext::checked_array_iterator<T const> begin() const noexcept;
stdext::checked_array_iterator<T> begin() noexcept;

Valeur de retour

Itérateur vers le premier élément de l’objet array_view .

array_view ::cbegin, fonction

Retourne un itérateur const au premier élément de l’objet array_view . Voir Itérateurs.

Syntaxe

stdext::checked_array_iterator<T const> cbegin() const noexcept;

Valeur de retour

Itérateur const vers le premier élément de l’objet array_view .

array_view ::cend, fonction

Retourne un itérateur const à un au-delà de la fin de (un au-delà du dernier élément dans) de l’objet array_view . Voir Itérateurs.

Syntaxe

stdext::checked_array_iterator<T const> cend() const noexcept;

Valeur de retour

Itérateur const vers un au-delà de la fin de (un au-delà du dernier élément dans) l’objet array_view .

array_view ::crbegin, fonction

Retourne un itérateur inverse const à un au-delà de la fin de (un au-delà du dernier élément dans) de l’objet array_view .

Syntaxe

std::reverse_iterator<stdext::checked_array_iterator<T const>> crbegin() const noexcept;

Valeur de retour

Itérateur inverse const à un au-delà de la fin de (un au-delà du dernier élément dans) de l’objet array_view .

array_view ::crend, fonction

Retourne un itérateur inverse const au premier élément de l’objet array_view .

Syntaxe

std::reverse_iterator<stdext::checked_array_iterator<T const>> crend() const noexcept;

Valeur de retour

Itérateur inverse const vers le premier élément de l’objet array_view .

array_view ::d ata, fonction

Retourne un pointeur vers les données sous-jacentes consultées par l’objet array_view .

Syntaxe

T const* data() const noexcept;
T* data() noexcept;

Valeur de retour

Pointeur vers les données sous-jacentes consultées par l’objet array_view .

array_view ::empty, fonction

Retourne une valeur indiquant si l’objet array_view est vide (est une vue sur zéro élément).

Syntaxe

bool empty() const noexcept;

Valeur de retour

true si l’objet array_view est vide (est une vue sur zéro élément), sinon false.

array_view ::end, fonction

Retourne un itérateur à un au-delà de la fin de (un au-delà du dernier élément dans) de l’objet array_view . Voir Itérateurs.

Syntaxe

stdext::checked_array_iterator<T const> end() const noexcept;
stdext::checked_array_iterator<T> end() noexcept;

Valeur de retour

Itérateur vers un au-delà de la fin de (un au-delà du dernier élément dans) l’objet array_view .

array_view ::front, fonction

Retourne une référence au premier élément de l’objet array_view .

Syntaxe

T const& front() const noexcept;
T& front() noexcept;

Valeur de retour

Référence au premier élément de l’objet array_view .

array_view ::operator[] (opérateur indice)

Retourne une référence à l’élément à la position spécifiée dans l’objet array_view .

Syntaxe

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

Paramètres

pos Position d’élément de base zéro, ou index.

Valeur retournée

Référence à l’élément à la position spécifiée dans l’objet array_view .

array_view ::rbegin, fonction

Retourne un itérateur inverse à un au-delà de la fin de (un au-delà du dernier élément dans) de l’objet array_view .

Syntaxe

std::reverse_iterator<stdext::checked_array_iterator<T const>> rbegin() const noexcept;
std::reverse_iterator<stdext::checked_array_iterator<T>> rbegin() noexcept;

Valeur de retour

Itérateur inverse à un au-delà de la fin de (un au-delà du dernier élément dans) de l’objet array_view .

array_view ::rend, fonction

Retourne un itérateur inverse au premier élément de l’objet array_view .

Syntaxe

std::reverse_iterator<stdext::checked_array_iterator<T const>> rend() const noexcept;
std::reverse_iterator<stdext::checked_array_iterator<T>> rend() noexcept;

Valeur de retour

Itérateur inverse vers le premier élément de l’objet array_view .

array_view ::size, fonction

Retourne le nombre d’éléments dans l’objet array_view .

Syntaxe

uint32_t size() const noexcept;

Valeur de retour

uint32_t contenant le nombre d’éléments dans l’objet array_view.

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

Retourne une valeur indiquant si les deux paramètres sont inégaux l’un à l’autre.

Syntaxe

template <typename T> bool operator!=(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;

Paramètres

leftright Valeur array_view à comparer avec l’autre paramètre.

Valeur retournée

true si les deux paramètres sont inégaux l’un à l’autre, sinon false.

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

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

Syntaxe

template <typename T> bool operator<(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;

Paramètres

leftright Valeur array_view à comparer avec l’autre paramètre.

Valeur retournée

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

operator<= (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

template <typename T> bool operator<=(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;

Paramètres

leftright Valeur array_view à comparer avec l’autre paramètre.

Valeur retournée

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 l’un à l’autre.

Syntaxe

template <typename T> bool operator==(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;

Paramètres

leftright Valeur array_view à comparer avec l’autre paramètre.

Valeur retournée

true si les deux paramètres sont égaux l’un à l’autre , 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

template <typename T> bool operator>(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;

Paramètres

leftright Valeur array_view à comparer avec l’autre paramètre.

Valeur retournée

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

operator>= (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

template <typename T> bool operator>=(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;

Paramètres

leftright Valeur array_view à comparer avec l’autre paramètre.

Valeur retournée

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

Voir aussi