Compartilhar via


modelo de struct winrt::array_view (C++/WinRT)

Uma exibição ou intervalo de uma série contígua de valores. Para obter mais exemplos e informações sobre winrt::array_view, consulte tipos de dados C++ Standard eC++/WinRT.

Sintaxe

template <typename T>
struct array_view

Parâmetros de modelo

typename T o tipo de valores (elementos) que o array_view exibições ou intervalos.

Requisitos

SDK mínimo com suporte: SDK do Windows versão 10.0.17134.0 (Windows 10, versão 1803)

Namespace : winrt

Cabeçalho : %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (incluído por padrão)

Aliases de tipo de membro

Nome do alias Tipo
array_view::value_type Um sinônimo para o parâmetro de modelo typename T.
array_view::size_type Um sinônimo para uint32_t.
array_view::reference Um sinônimo para array_view::value_type&.
array_view::const_reference Um sinônimo para array_view::value_type const&.
array_view::p ointer Um sinônimo para array_view::value_type*.
array_view::const_pointer Um sinônimo paraarray_view::value_type const* .
array_view::iterador Um sinônimo para um iterador de matriz definido pela implementação de array_view::value_type.
array_view::const_iterator Um sinônimo para um iterador de matriz definido pela implementação de array_view::value_type const.
array_view::reverse_iterator Um sinônimo para std::reverse_iterator<array_view::iterator>.
array_view::const_reverse_iterator Um sinônimo para std::reverse_iterator<array_view::const_iterator>.

Construtores

Construtor Descrição
construtor array_view::array_view Inicializa uma nova instância do struct array_view como uma exibição sobre (e não uma cópia de) os dados de entrada.

Funções de membro

Função Descrição
array_view::at function Retorna uma referência ao elemento na posição especificada dentro do objeto array_view.
array_view::back function Retorna uma referência ao último elemento no objeto array_view.
array_view::begin function Retorna um iterador para o primeiro elemento no objeto array_view.
de função array_view::cbegin Retorna um iterador const para o primeiro elemento no objeto array_view.
array_view::cend function Retorna um iterador const para um além do final (um além do último elemento) do objeto array_view.
função array_view::crbegin Retorna um iterador reverso const para um além do final de (um além do último elemento em) o objeto array_view.
array_view::crend function Retorna um iterador reverso const para o primeiro elemento no objeto array_view.
de função array_view::d ata Retorna um ponteiro para os dados subjacentes que estão sendo exibidos pelo objeto array_view.
array_view::empty function Retorna um valor que indica se o objeto array_view está vazio (é uma exibição em zero elementos).
de função array_view::end Retorna um iterador para um além do final de (um além do último elemento) do objeto array_view.
array_view::front function Retorna uma referência ao primeiro elemento no objeto array_view.
array_view::rbegin function Retorna um iterador reverso para um além do final de (um além do último elemento) do objeto array_view.
array_view::rend function Retorna um iterador reverso para o primeiro elemento no objeto array_view.
array_view::size function Retorna o número de elementos no objeto array_view.

Operadores de membro

Operador Descrição
array_view::operator[] (operador subscrito) Retorna uma referência ao elemento na posição especificada dentro do objeto array_view.

Operadores gratuitos

Operador Descrição
operador != (operador de desigualdade) Retorna um valor que indica se os dois parâmetros são diferentes um do outro.
operador < (operador menor que) Retorna um valor que indica se o primeiro parâmetro é menor que o segundo parâmetro.
operador <= (operador menor ou igual a) Retorna um valor que indica se o primeiro parâmetro é menor ou igual ao segundo parâmetro.
operator== (operador de igualdade) Retorna um valor que indica se os dois parâmetros são iguais um ao outro.
operador > (operador maior que) Retorna um valor que indica se o primeiro parâmetro é maior que o segundo parâmetro.
operador >= (operador maior ou igual a) Retorna um valor que indica se o primeiro parâmetro é maior ou igual ao segundo parâmetro.

Iteradores

Um array_view é um intervalo e esse intervalo é definido pelas funções de membro array_view::begin e array_view::end, cada uma delas retorna um iterador (consulte também array_view::cbegin e array_view::cend). Por isso, você pode enumerar os caracteres em um objeto array_view com uma instrução for baseada em intervalo ou com a função de modelo 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 << " "; });
}

Construtor array_view::array_view

Inicializa uma nova instância do struct array_view como uma exibição sobre (e não uma cópia de) os dados de entrada.

Sintaxe

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;

Parâmetros de modelo

typename C O tipo dos valores (elementos) nos dados de entrada.

uint32_t N o número de valores (elementos) nos dados de entrada.

Parâmetros

rawArrayValue um valor de matriz bruto que inicializa o objeto array_view.

um valor std::array que inicializa o objeto array_view.

initializerListValue Um valor de lista de inicializadores que inicializa o objeto array_view.

um valor std::vector que inicializa o objeto array_view.

first last ponteiros para valores com os quais inicializar o objeto array_view. Se first for igual a last, o objeto array_view estará vazio.

Exemplo

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

função array_view::at

Retorna uma referência ao elemento na posição especificada dentro do objeto array_view.

Sintaxe

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

Parâmetros

pos uma posição de elemento baseada em zero ou índice.

Valor de retorno

Uma referência ao elemento na posição especificada dentro do objeto array_view.

Função array_view::back

Retorna uma referência ao último elemento no objeto array_view.

Sintaxe

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

Valor de retorno

Uma referência ao último elemento no objeto array_view.

Função array_view::begin

Retorna um iterador para o primeiro elemento no objeto array_view. Consulte iteradores.

Sintaxe

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

Valor de retorno

Um iterador para o primeiro elemento no objeto array_view.

Função array_view::cbegin

Retorna um iterador const para o primeiro elemento no objeto array_view. Consulte iteradores.

Sintaxe

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

Valor de retorno

Um iterador const para o primeiro elemento no objeto array_view.

Função array_view::cend

Retorna um iterador const para um além do final (um além do último elemento) do objeto array_view. Consulte iteradores.

Sintaxe

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

Valor de retorno

Um iterador const para um além do final de (um além do último elemento em) o objeto array_view.

Função array_view::crbegin

Retorna um iterador reverso const para um além do final de (um além do último elemento em) o objeto array_view.

Sintaxe

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

Valor de retorno

Um iterador reverso const para um além do final de (um além do último elemento em) o objeto array_view.

Função array_view::crend

Retorna um iterador reverso const para o primeiro elemento no objeto array_view.

Sintaxe

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

Valor de retorno

Um iterador reverso const para o primeiro elemento no objeto array_view.

Função array_view::d ata

Retorna um ponteiro para os dados subjacentes que estão sendo exibidos pelo objeto array_view.

Sintaxe

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

Valor de retorno

Um ponteiro para os dados subjacentes que estão sendo exibidos pelo objeto array_view.

Função array_view::empty

Retorna um valor que indica se o objeto array_view está vazio (é uma exibição em zero elementos).

Sintaxe

bool empty() const noexcept;

Valor de retorno

true se o objeto array_view estiver vazio (é uma exibição em zero elementos), caso contrário, false.

Função array_view::end

Retorna um iterador para um além do final de (um além do último elemento) do objeto array_view. Consulte iteradores.

Sintaxe

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

Valor de retorno

Um iterador para um além do final de (um além do último elemento em) o objeto array_view.

Função array_view::front

Retorna uma referência ao primeiro elemento no objeto array_view.

Sintaxe

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

Valor de retorno

Uma referência ao primeiro elemento no objeto array_view.

array_view::operator[] (operador subscrito)

Retorna uma referência ao elemento na posição especificada dentro do objeto array_view.

Sintaxe

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

Parâmetros

pos uma posição de elemento baseada em zero ou índice.

Valor de retorno

Uma referência ao elemento na posição especificada dentro do objeto array_view.

Função array_view::rbegin

Retorna um iterador reverso para um além do final de (um além do último elemento) do objeto array_view.

Sintaxe

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

Valor de retorno

Um iterador inverso para um além do final (um além do último elemento) do objeto array_view.

Função array_view::rend

Retorna um iterador reverso para o primeiro elemento no objeto array_view.

Sintaxe

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

Valor de retorno

Um iterador reverso para o primeiro elemento no objeto array_view.

Função array_view::size

Retorna o número de elementos no objeto array_view.

Sintaxe

uint32_t size() const noexcept;

Valor de retorno

Um uint32_t que contém o número de elementos no objeto array_view.

operator!= (operador de desigualdade)

Retorna um valor que indica se os dois parâmetros são diferentes um do outro.

Sintaxe

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

Parâmetros

left right um valor array_view a ser comparado com o outro parâmetro.

Valor de retorno

true se os dois parâmetros forem diferentes um do outro, caso contrário, false.

operador< (operador menor que)

Retorna um valor que indica se o primeiro parâmetro é menor que o segundo parâmetro.

Sintaxe

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

Parâmetros

left right um valor array_view a ser comparado com o outro parâmetro.

Valor de retorno

true se o primeiro parâmetro for menor que o segundo parâmetro, caso contrário, false.

operador<= (operador menor que ou igual a)

Retorna um valor que indica se o primeiro parâmetro é menor ou igual ao segundo parâmetro.

Sintaxe

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

Parâmetros

left right um valor array_view a ser comparado com o outro parâmetro.

Valor de retorno

true se o primeiro parâmetro for menor ou igual ao segundo parâmetro, caso contrário, false.

operator== (operador de igualdade)

Retorna um valor que indica se os dois parâmetros são iguais um ao outro.

Sintaxe

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

Parâmetros

left right um valor array_view a ser comparado com o outro parâmetro.

Valor de retorno

true se os dois parâmetros forem iguais um ao outro, caso contrário, false.

operador> (operador maior que)

Retorna um valor que indica se o primeiro parâmetro é maior que o segundo parâmetro.

Sintaxe

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

Parâmetros

left right um valor array_view a ser comparado com o outro parâmetro.

Valor de retorno

true se o primeiro parâmetro for maior que o segundo parâmetro, caso contrário, false.

operador>= (operador maior que ou igual a)

Retorna um valor que indica se o primeiro parâmetro é maior ou igual ao segundo parâmetro.

Sintaxe

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

Parâmetros

left right um valor array_view a ser comparado com o outro parâmetro.

Valor de retorno

true se o primeiro parâmetro for maior ou igual ao segundo parâmetro, caso contrário, false.

Consulte também