Plantilla de estructura winrt::array_view (C++/WinRT)
Vista, o intervalo, de una serie contigua de valores. Para obtener más ejemplos e información sobre winrt::array_view, consulta tipos de datos estándar de C++ y C++/WinRT.
Sintaxis
template <typename T>
struct array_view
Parámetros de plantilla
typename T
El tipo de los valores (elementos) que abarca las vistas de array_view o abarca.
Requisitos
SDK mínimo admitido: Windows SDK versión 10.0.17134.0 (Windows 10, versión 1803)
Namespace: winrt
encabezado : %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (incluido de forma predeterminada)
Alias de tipo de miembro
Nombre del alias | Tipo |
---|---|
array_view::value_type | Sinónimo del parámetro de plantilla de typename T . |
array_view::size_type | Sinónimo de uint32_t. |
array_view::reference | Sinónimo de array_view::value_type&. |
array_view::const_reference | Sinónimo de array_view::value_type const&. |
array_view::p ointer | Sinónimo de array_view::value_type*. |
array_view::const_pointer | Sinónimo de array_view::value_type const*. |
array_view::iterator | Sinónimo de un iterador de matriz definido por la implementación de array_view::value_type. |
array_view::const_iterator | Sinónimo de un iterador de matriz definido por la implementación de array_view::value_type const. |
array_view::reverse_iterator | Sinónimo de std::reverse_iterator<array_view::iterator>. |
array_view::const_reverse_iterator | Sinónimo de std::reverse_iterator<array_view::const_iterator>. |
Constructores
Constructor | Descripción |
---|---|
array_view::array_view constructor | Inicializa una nueva instancia de la estructura array_view como una vista de los datos de entrada (y no una copia). |
Funciones miembro
Función | Descripción |
---|---|
array_view::at de función | Devuelve una referencia al elemento en la posición especificada dentro del objeto array_view. |
array_view::back (función) | Devuelve una referencia al último elemento del objeto array_view. |
array_view::begin (función) | Devuelve un iterador al primer elemento del objeto array_view. |
array_view::cbegin (función) | Devuelve un iterador const al primer elemento del objeto array_view. |
array_view::cend (función) | Devuelve un iterador const a uno más allá del final de (uno más allá del último elemento de) el objeto array_view. |
array_view::crbegin (función) | Devuelve un iterador inverso const a uno más allá del final de (uno más allá del último elemento de) el objeto array_view. |
array_view::crend (función) | Devuelve un iterador inverso const al primer elemento del objeto array_view. |
de función |
Devuelve un puntero a los datos subyacentes que ve el objeto array_view. |
array_view::empty (función) | Devuelve un valor que indica si el objeto array_view está vacío (es una vista en cero elementos). |
de función |
Devuelve un iterador a uno más allá del final de (uno más allá del último elemento de) el objeto array_view. |
array_view::front function | Devuelve una referencia al primer elemento del objeto array_view. |
array_view de función::rbegin | Devuelve un iterador inverso a uno más allá del final de (uno más allá del último elemento de) el objeto array_view. |
array_view::rend (función) | Devuelve un iterador inverso al primer elemento del objeto array_view. |
array_view::size (función) | Devuelve el número de elementos del objeto array_view. |
Operadores de miembro
Operador | Descripción |
---|---|
array_view::operator[] (operador de subíndice) | Devuelve una referencia al elemento en la posición especificada dentro del objeto array_view. |
Operadores gratuitos
Operador | Descripción |
---|---|
operador != (operador de desigualdad) | Devuelve un valor que indica si los dos parámetros son distintos entre sí. |
operador< (operador menor que) | Devuelve un valor que indica si el primer parámetro es menor que el segundo parámetro. |
operador<= (operador menor o igual que) | Devuelve un valor que indica si el primer parámetro es menor o igual que el segundo parámetro. |
operator== (operador de igualdad) | Devuelve un valor que indica si los dos parámetros son iguales entre sí. |
operador> (operador mayor que) | Devuelve un valor que indica si el primer parámetro es mayor que el segundo parámetro. |
operador>= (operador mayor o igual que) | Devuelve un valor que indica si el primer parámetro es mayor o igual que el segundo parámetro. |
Iteradores
Un array_view es un intervalo y ese intervalo se define mediante la array_view::begin y array_view::end funciones miembro, cada una de las cuales devuelve un iterador (consulte también array_view::cbegin y array_view::cend). Por este motivo, puede enumerar los caracteres de un objeto
#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 << " "; });
}
constructor array_view::array_view
Inicializa una nueva instancia de la estructura array_view como una vista de los datos de entrada (y no una copia).
Sintaxis
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 plantilla
typename C
Tipo de los valores (elementos) de los datos de entrada.
uint32_t N
El número de valores (elementos) en los datos de entrada.
Parámetros
rawArrayValue
valor de matriz sin formato que inicializa el objeto array_view.
arrayValue
valor std::array que inicializa el objeto array_view.
initializerListValue
valor de lista de inicializadores que inicializa el objeto array_view.
vectorValue
Valor std::vector que inicializa el objeto array_view.
first
last
Punteros a valores con los que inicializar el objeto array_view. Si first
es igual a last
, el objeto array_view está vacío.
Ejemplo
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 (función)
Devuelve una referencia al elemento en la posición especificada dentro del objeto array_view.
Sintaxis
T& at(uint32_t const pos);
T const& at(uint32_t const pos) const;
Parámetros
pos
una posición de elemento de base cero o índice.
Valor devuelto
Referencia al elemento en la posición especificada dentro del objeto array_view.
función array_view::back
Devuelve una referencia al último elemento del objeto array_view.
Sintaxis
T const& back() const noexcept;
T& back() noexcept;
Valor devuelto
Referencia al último elemento del objeto array_view.
función array_view::begin
Devuelve un iterador al primer elemento del objeto array_view. Consulte iteradores.
Sintaxis
stdext::checked_array_iterator<T const> begin() const noexcept;
stdext::checked_array_iterator<T> begin() noexcept;
Valor devuelto
Iterador al primer elemento del objeto array_view.
función array_view::cbegin
Devuelve un iterador const al primer elemento del objeto array_view. Consulte iteradores.
Sintaxis
stdext::checked_array_iterator<T const> cbegin() const noexcept;
Valor devuelto
Iterador const al primer elemento del objeto array_view.
función array_view::cend
Devuelve un iterador const a uno más allá del final de (uno más allá del último elemento de) el objeto array_view. Consulte iteradores.
Sintaxis
stdext::checked_array_iterator<T const> cend() const noexcept;
Valor devuelto
Iterador const a uno más allá del final de (uno más allá del último elemento de) el objeto array_view.
función array_view::crbegin
Devuelve un iterador inverso const a uno más allá del final de (uno más allá del último elemento de) el objeto array_view.
Sintaxis
std::reverse_iterator<stdext::checked_array_iterator<T const>> crbegin() const noexcept;
Valor devuelto
Iterador inverso const a uno más allá del final de (uno más allá del último elemento de) el objeto array_view.
función array_view::crend
Devuelve un iterador inverso const al primer elemento del objeto array_view.
Sintaxis
std::reverse_iterator<stdext::checked_array_iterator<T const>> crend() const noexcept;
Valor devuelto
Iterador inverso const al primer elemento del objeto array_view.
función array_view::d ata
Devuelve un puntero a los datos subyacentes que ve el objeto array_view.
Sintaxis
T const* data() const noexcept;
T* data() noexcept;
Valor devuelto
Puntero a los datos subyacentes que ve el objeto array_view.
función array_view::empty
Devuelve un valor que indica si el objeto array_view está vacío (es una vista en cero elementos).
Sintaxis
bool empty() const noexcept;
Valor devuelto
true
si el objeto array_view está vacío (es una vista en cero elementos), de lo contrario, false
.
función array_view::end
Devuelve un iterador a uno más allá del final de (uno más allá del último elemento de) el objeto array_view. Consulte iteradores.
Sintaxis
stdext::checked_array_iterator<T const> end() const noexcept;
stdext::checked_array_iterator<T> end() noexcept;
Valor devuelto
Iterador a uno más allá del final de (uno más allá del último elemento de) el objeto array_view.
función array_view::front
Devuelve una referencia al primer elemento del objeto array_view.
Sintaxis
T const& front() const noexcept;
T& front() noexcept;
Valor devuelto
Referencia al primer elemento del objeto array_view.
array_view::operator[] (operador de subíndice)
Devuelve una referencia al elemento en la posición especificada dentro del objeto array_view.
Sintaxis
T const& operator[](uint32_t const pos) const noexcept;
T& operator[](uint32_t const pos) noexcept;
Parámetros
pos
una posición de elemento de base cero o índice.
Valor devuelto
Referencia al elemento en la posición especificada dentro del objeto array_view.
función array_view::rbegin
Devuelve un iterador inverso a uno más allá del final de (uno más allá del último elemento de) el objeto array_view.
Sintaxis
std::reverse_iterator<stdext::checked_array_iterator<T const>> rbegin() const noexcept;
std::reverse_iterator<stdext::checked_array_iterator<T>> rbegin() noexcept;
Valor devuelto
Iterador inverso a uno más allá del final de (uno más allá del último elemento de) el objeto array_view.
función array_view::rend
Devuelve un iterador inverso al primer elemento del objeto array_view.
Sintaxis
std::reverse_iterator<stdext::checked_array_iterator<T const>> rend() const noexcept;
std::reverse_iterator<stdext::checked_array_iterator<T>> rend() noexcept;
Valor devuelto
Iterador inverso al primer elemento del objeto array_view.
array_view::size (función)
Devuelve el número de elementos del objeto array_view.
Sintaxis
uint32_t size() const noexcept;
Valor devuelto
Un uint32_t
que contiene el número de elementos del objeto array_view.
operator!= (operador de desigualdad)
Devuelve un valor que indica si los dos parámetros son distintos entre sí.
Sintaxis
template <typename T> bool operator!=(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;
Parámetros
left
right
Valor de array_view que se va a comparar con el otro parámetro.
Valor devuelto
true
si los dos parámetros no son iguales entre sí; de lo contrario, false
.
operador< (operador menor que)
Devuelve un valor que indica si el primer parámetro es menor que el segundo parámetro.
Sintaxis
template <typename T> bool operator<(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;
Parámetros
left
right
Valor de array_view que se va a comparar con el otro parámetro.
Valor devuelto
true
si el primer parámetro es menor que el segundo parámetro; de lo contrario, false
.
operator<= (operador menor o igual que)
Devuelve un valor que indica si el primer parámetro es menor o igual que el segundo parámetro.
Sintaxis
template <typename T> bool operator<=(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;
Parámetros
left
right
Valor de array_view que se va a comparar con el otro parámetro.
Valor devuelto
true
si el primer parámetro es menor o igual que el segundo parámetro; de lo contrario, false
.
operator== (operador de igualdad)
Devuelve un valor que indica si los dos parámetros son iguales entre sí.
Sintaxis
template <typename T> bool operator==(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;
Parámetros
left
right
Valor de array_view que se va a comparar con el otro parámetro.
Valor devuelto
true
si los dos parámetros son iguales entre sí; de lo contrario, false
.
operador> (operador mayor que)
Devuelve un valor que indica si el primer parámetro es mayor que el segundo parámetro.
Sintaxis
template <typename T> bool operator>(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;
Parámetros
left
right
Valor de array_view que se va a comparar con el otro parámetro.
Valor devuelto
true
si el primer parámetro es mayor que el segundo parámetro; de lo contrario, false
.
operator>= (operador mayor que o igual que)
Devuelve un valor que indica si el primer parámetro es mayor o igual que el segundo parámetro.
Sintaxis
template <typename T> bool operator>=(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;
Parámetros
left
right
Valor de array_view que se va a comparar con el otro parámetro.
Valor devuelto
true
si el primer parámetro es mayor o igual que el segundo parámetro; de lo contrario, false
.