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++ Padrão e C++/WinRT.
Sintaxe
template <typename T>
struct array_view
Parâmetros de modelo
typename T
O tipo dos valores (elementos) que o array_view exibições ou abrange.
Requisitos
SDK mínimo com suporte: Windows SDK 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 typename T parâmetro de modelo. |
array_view::size_type | Um sinônimo de uint32_t. |
array_view::reference | Um sinônimo de array_view::value_type&. |
array_view::const_reference | Um sinônimo de array_view::value_type const&. |
array_view::p ointer | Um sinônimo de array_view::value_type*. |
array_view::const_pointer | Um sinônimo de array_view::value_type const*. |
array_view::iterador | Um sinônimo de um iterador de matriz definido pela implementação de array_view::value_type. |
array_view::const_iterator | Um sinônimo de um iterador de matriz definido pela implementação de array_view::value_type const. |
array_view::reverse_iterator | Um sinônimo de std::reverse_iterator<array_view::iterator>. |
array_view::const_reverse_iterator | Um sinônimo de 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 |
---|---|
Função array_view::at | Retorna 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 . |
Função array_view::begin | Retorna 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 . |
Função array_view::cend | Retorna um iterador const para um além do final de (um além do último elemento em) 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 . |
Função array_view::crend | Retorna 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 . |
Função array_view::empty | Retorna um valor que indica se o objeto array_view está vazio (é uma exibição em zero elementos). |
Função array_view::end | Retorna um iterador para um além do final de (um além do último elemento em) do objeto array_view . |
Função array_view::front | Retorna uma referência ao primeiro elemento no 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 em) do objeto array_view . |
Função array_view::rend | Retorna 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 . |
Operadores 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 |
---|---|
operator!= (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. |
operator<= (operador menor que 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. |
operator>= (operador maior que ou igual a) | Retorna um valor que indica se o primeiro parâmetro é maior ou igual ao segundo parâmetro. |
Iterators
Um array_view é um intervalo e esse intervalo é definido pelas funções de membro array_view::begin e array_view::end , cada uma 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 baseada em for
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 bruta que inicializa o objeto array_view .
arrayValue
Um valor std::array que inicializa o objeto array_view .
initializerListValue
Um valor de lista do inicializador que inicializa o objeto array_view .
vectorValue
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 last
a , 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 ou índice de elemento baseado em zero.
Retornar valor
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;
Retornar valor
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;
Retornar valor
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;
Retornar valor
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 de (um além do último elemento em) o objeto array_view . Consulte Iteradores.
Sintaxe
stdext::checked_array_iterator<T const> cend() const noexcept;
Retornar valor
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 inverso 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;
Retornar valor
Um iterador inverso 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 inverso const para o primeiro elemento no objeto array_view .
Sintaxe
std::reverse_iterator<stdext::checked_array_iterator<T const>> crend() const noexcept;
Retornar valor
Um iterador inverso 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;
Retornar valor
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;
Retornar valor
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 em) o objeto array_view . Consulte Iteradores.
Sintaxe
stdext::checked_array_iterator<T const> end() const noexcept;
stdext::checked_array_iterator<T> end() noexcept;
Retornar valor
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;
Retornar valor
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 ou índice de elemento baseado em zero.
Retornar valor
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 em) o 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;
Retornar valor
Um iterador reverso para um além do final de (um além do último elemento em) o 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;
Retornar valor
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;
Retornar valor
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.
Retornar valor
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.
Retornar valor
true
se o primeiro parâmetro for menor que o segundo parâmetro, caso contrário false
, .
operator<= (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.
Retornar valor
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.
Retornar valor
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.
Retornar valor
true
se o primeiro parâmetro for maior que o segundo parâmetro, caso contrário false
, .
operator>= (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.
Retornar valor
true
se o primeiro parâmetro for maior ou igual ao segundo parâmetro, caso contrário false
, .
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de