Condividi tramite


Modello di struct winrt::array_view (C++/WinRT)

Visualizzazione, o intervallo, di una serie contigua di valori. Per altri esempi e info su winrt::array_view, vedere tipi di dati C++ Standard e C++/WinRT.

Sintassi

template <typename T>
struct array_view

Parametri del modello

typename T Tipo di valori (elementi) a cui array_view o si estende.

Fabbisogno

SDK minimo supportato: Windows SDK versione 10.0.17134.0 (Windows 10, versione 1803)

Namespace: winrt

intestazione : %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (incluso per impostazione predefinita)

Alias del tipo di membro

Nome alias Digitare
array_view::value_type Sinonimo del parametro del modello typename T.
array_view::size_type Sinonimo di uint32_t.
array_view::reference Sinonimo di array_view::value_type&.
array_view::const_reference Sinonimo di array_view::value_type const&.
array_view::p ointer Sinonimo di array_view::value_type*.
array_view::const_pointer Sinonimo di array_view::value_type const*.
array_view::iterator Sinonimo di un iteratore di matrice definito dall'implementazione di array_view::value_type.
array_view::const_iterator Sinonimo di un iteratore di matrice definito dall'implementazione di array_view::value_type const.
array_view::reverse_iterator Sinonimo di std::reverse_iterator<array_view::iterator>.
array_view::const_reverse_iterator Sinonimo di std::reverse_iterator<array_view::const_iterator>.

Costruttori

Costruttore Descrizione
del costruttore array_view::array_view Inizializza una nuova istanza dello struct array_view come visualizzazione (e non una copia dei dati di input).

Funzioni membro

Funzione Descrizione
array_view::at della funzione Restituisce un riferimento all'elemento in corrispondenza della posizione specificata all'interno dell'oggetto array_view.
funzione array_view::back Restituisce un riferimento all'ultimo elemento nell'oggetto array_view.
funzione array_view::begin Restituisce un iteratore al primo elemento dell'oggetto array_view.
funzione array_view::cbegin Restituisce un iteratore const al primo elemento dell'oggetto array_view.
funzione array_view::cend Restituisce un iteratore const a uno oltre la fine di (uno oltre l'ultimo elemento in) dell'oggetto array_view.
funzione array_view::crbegin Restituisce un iteratore inverso const a uno oltre la fine di (uno oltre l'ultimo elemento in) dell'oggetto array_view.
funzione array_view::crend Restituisce un iteratore inverso const al primo elemento dell'oggetto array_view.
funzione array_view::d ata Restituisce un puntatore ai dati sottostanti visualizzati dall'oggetto array_view.
array_view::empty function Restituisce un valore che indica se l'oggetto array_view è vuoto (è una visualizzazione su zero elementi).
funzione array_view::end Restituisce un iteratore a uno oltre la fine di (uno oltre l'ultimo elemento in) dell'oggetto array_view.
array_view::front function Restituisce un riferimento al primo elemento dell'oggetto array_view.
funzione array_view::rbegin Restituisce un iteratore inverso a uno oltre la fine di (uno oltre l'ultimo elemento in) dell'oggetto array_view.
funzione array_view::rend Restituisce un iteratore inverso al primo elemento dell'oggetto array_view.
funzione array_view::size Restituisce il numero di elementi nell'oggetto array_view.

Operatori membro

Operatore Descrizione
array_view::operator[] (operatore pedice) Restituisce un riferimento all'elemento in corrispondenza della posizione specificata all'interno dell'oggetto array_view.

Operatori gratuiti

Operatore Descrizione
operator!= (operatore di disuguaglianza) Restituisce un valore che indica se i due parametri non sono uguali tra loro.
operatore< (operatore minore di) Restituisce un valore che indica se il primo parametro è minore del secondo parametro.
operatore<= (operatore minore o uguale a) Restituisce un valore che indica se il primo parametro è minore o uguale al secondo parametro.
operator== (operatore di uguaglianza) Restituisce un valore che indica se i due parametri sono uguali l'uno all'altro.
> dell'operatore (operatore maggiore di) Restituisce un valore che indica se il primo parametro è maggiore del secondo parametro.
operatore= (operatore maggiore o uguale a) Restituisce un valore che indica se il primo parametro è maggiore o uguale al secondo parametro.

Iteratori

Un array_view è un intervallo e tale intervallo viene definito dalle funzioni membro array_view::begin e array_view::end, ognuna delle quali restituisce un iteratore (vedere anche array_view::cbegin e array_view::cend). Per questo motivo, è possibile enumerare i caratteri in un oggetto array_view con un'istruzione di basata su intervalli o con la funzione modello 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 << " "; });
}

Costruttore array_view::array_view

Inizializza una nuova istanza dello struct array_view come visualizzazione (e non una copia dei dati di input).

Sintassi

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;

Parametri del modello

typename C Tipo di valori (elementi) nei dati di input.

uint32_t N Numero di valori (elementi) nei dati di input.

Parametri

rawArrayValue Valore matrice non elaborato che inizializza l'oggetto array_view.

Valore std::array che inizializza l'oggetto array_view.

initializerListValue Valore dell'elenco di inizializzatori che inizializza l'oggetto array_view.

vectorValue Valore std::vector che inizializza l'oggetto array_view.

first last Puntatori ai valori con cui inizializzare l'oggetto array_view. Se first è uguale a last, l'oggetto array_view è vuoto.

Esempio

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.
}

funzione array_view::at

Restituisce un riferimento all'elemento in corrispondenza della posizione specificata all'interno dell'oggetto array_view.

Sintassi

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

Parametri

pos Una posizione dell'elemento in base zero o un indice.

Valore restituito

Riferimento all'elemento in corrispondenza della posizione specificata all'interno dell'oggetto array_view.

funzione array_view::back

Restituisce un riferimento all'ultimo elemento nell'oggetto array_view.

Sintassi

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

Valore restituito

Riferimento all'ultimo elemento nell'oggetto array_view.

funzione array_view::begin

Restituisce un iteratore al primo elemento dell'oggetto array_view. Vedere Iteratori.

Sintassi

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

Valore restituito

Iteratore al primo elemento dell'oggetto array_view.

funzione array_view::cbegin

Restituisce un iteratore const al primo elemento dell'oggetto array_view. Vedere Iteratori.

Sintassi

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

Valore restituito

Iteratore const al primo elemento dell'oggetto array_view.

funzione array_view::cend

Restituisce un iteratore const a uno oltre la fine di (uno oltre l'ultimo elemento in) dell'oggetto array_view. Vedere Iteratori.

Sintassi

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

Valore restituito

Iteratore const a uno oltre la fine di (uno oltre l'ultimo elemento in) dell'oggetto array_view.

funzione array_view::crbegin

Restituisce un iteratore inverso const a uno oltre la fine di (uno oltre l'ultimo elemento in) dell'oggetto array_view.

Sintassi

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

Valore restituito

Iteratore inverso const a uno oltre la fine di (uno oltre l'ultimo elemento in) dell'oggetto array_view.

funzione array_view::crend

Restituisce un iteratore inverso const al primo elemento dell'oggetto array_view.

Sintassi

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

Valore restituito

Iteratore inverso const al primo elemento dell'oggetto array_view.

funzione array_view::d ata

Restituisce un puntatore ai dati sottostanti visualizzati dall'oggetto array_view.

Sintassi

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

Valore restituito

Puntatore ai dati sottostanti visualizzati dall'oggetto array_view.

funzione array_view::empty

Restituisce un valore che indica se l'oggetto array_view è vuoto (è una visualizzazione su zero elementi).

Sintassi

bool empty() const noexcept;

Valore restituito

true se l'oggetto array_view è vuoto (è una visualizzazione su zero elementi), in caso contrario false.

funzione array_view::end

Restituisce un iteratore a uno oltre la fine di (uno oltre l'ultimo elemento in) dell'oggetto array_view. Vedere Iteratori.

Sintassi

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

Valore restituito

Iteratore a uno oltre la fine di (uno oltre l'ultimo elemento in) dell'oggetto array_view.

funzione array_view::front

Restituisce un riferimento al primo elemento dell'oggetto array_view.

Sintassi

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

Valore restituito

Riferimento al primo elemento dell'oggetto array_view.

array_view::operator[] (operatore pedice)

Restituisce un riferimento all'elemento in corrispondenza della posizione specificata all'interno dell'oggetto array_view.

Sintassi

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

Parametri

pos Una posizione dell'elemento in base zero o un indice.

Valore restituito

Riferimento all'elemento in corrispondenza della posizione specificata all'interno dell'oggetto array_view.

funzione array_view::rbegin

Restituisce un iteratore inverso a uno oltre la fine di (uno oltre l'ultimo elemento in) dell'oggetto array_view.

Sintassi

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

Valore restituito

Iteratore inverso a uno oltre la fine di (uno oltre l'ultimo elemento in) dell'oggetto array_view.

funzione array_view::rend

Restituisce un iteratore inverso al primo elemento dell'oggetto array_view.

Sintassi

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

Valore restituito

Iteratore inverso al primo elemento dell'oggetto array_view.

funzione array_view::size

Restituisce il numero di elementi nell'oggetto array_view.

Sintassi

uint32_t size() const noexcept;

Valore restituito

Oggetto uint32_t contenente il numero di elementi nell'oggetto array_view.

operator!= (operatore di disuguaglianza)

Restituisce un valore che indica se i due parametri non sono uguali tra loro.

Sintassi

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

Parametri

left right Valore array_view da confrontare con l'altro parametro.

Valore restituito

true se i due parametri non sono uguali l'uno all'altro; in caso contrario, false.

operatore< (operatore minore di)

Restituisce un valore che indica se il primo parametro è minore del secondo parametro.

Sintassi

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

Parametri

left right Valore array_view da confrontare con l'altro parametro.

Valore restituito

true se il primo parametro è minore del secondo parametro; in caso contrario, false.

operator<= (operatore minore o uguale a)

Restituisce un valore che indica se il primo parametro è minore o uguale al secondo parametro.

Sintassi

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

Parametri

left right Valore array_view da confrontare con l'altro parametro.

Valore restituito

true se il primo parametro è minore o uguale al secondo parametro, in caso contrario false.

operator== (operatore di uguaglianza)

Restituisce un valore che indica se i due parametri sono uguali l'uno all'altro.

Sintassi

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

Parametri

left right Valore array_view da confrontare con l'altro parametro.

Valore restituito

true se i due parametri sono uguali l'uno all'altro; in caso contrario, false.

operatore> (operatore maggiore di)

Restituisce un valore che indica se il primo parametro è maggiore del secondo parametro.

Sintassi

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

Parametri

left right Valore array_view da confrontare con l'altro parametro.

Valore restituito

true se il primo parametro è maggiore del secondo parametro; in caso contrario, false.

operator>= (operatore maggiore o uguale a)

Restituisce un valore che indica se il primo parametro è maggiore o uguale al secondo parametro.

Sintassi

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

Parametri

left right Valore array_view da confrontare con l'altro parametro.

Valore restituito

true se il primo parametro è maggiore o uguale al secondo parametro, in caso contrario false.

Vedere anche