modèle de struct winrt ::array_view (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.

Syntaxe

template <typename T>
struct array_view

Paramètres de modèle

typename T Type des valeurs (éléments) que les vues array_view ou s’étendent.

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
array_view ::value_type Synonyme du paramètre de modèle typename T.
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’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
array_view ::array_view constructeur Initialise une nouvelle instance du struct array_view en tant qu’affichage (et non une copie) des données d’entrée.

Fonctions membres

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 (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.
array_view ::crend, fonction Retourne un itérateur inverse const au premier élément de l’objet array_view.
fonction array_view ::d ata 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 vers un itérateur au-delà de la fin de (un au-delà du dernier élément dans) de l’objet array_view.
de la fonction array_view :rend 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 d’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 les uns aux autres.
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

Une array_view est une plage et cette plage est définie par les fonctions membres array_view ::begin et array_view ::end membres, chacune qui retourne 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 for basée sur 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 qu’affichage (et non une copie) des données d’entrée.

Syntaxe

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.

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

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

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

first last pointeurs vers des valeurs avec lesquelles initialiser l’objet array_view. Si first est égal à last, 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 une position d’élément de base zéro ou un index.

Valeur de retour

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. Consultez 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. Consultez itérateurs.

Syntaxe

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

Valeur de retour

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 (un au-delà du dernier élément dans) l’objet array_view. Consultez itérateurs.

Syntaxe

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

Valeur de retour

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.

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 (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 au premier élément de l’objet array_view.

fonction array_view ::d ata

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 aucun é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. Consultez 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 itérateur 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.

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 d’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 une position d’élément de base zéro ou un index.

Valeur de retour

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 vers un itérateur 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 vers l’un au-delà de la fin (un au-delà du dernier élément dans) 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 au 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

Un 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 les uns aux autres.

Syntaxe

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

Paramètres

left right Valeur de array_view à comparer avec l’autre paramètre.

Valeur de retour

true si les deux paramètres sont inégaux les uns aux autres, 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

left right Valeur de array_view à 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

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

Paramètres

left right Valeur de array_view à 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

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

Paramètres

left right Valeur de array_view à 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

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

Paramètres

left right Valeur de array_view à 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

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

Paramètres

left right Valeur de array_view à 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