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 Tipo de los valores (elementos) que el array_view vistas o abarca.

Requisitos

SDK mínimo admitido: Windows SDK, versión 10.0.17134.0 (Windows 10, versión 1803)

Espacio de nombres: winrt

Encabezado: %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (incluido de forma predeterminada)

Alias de tipo de miembro

Nombre de alias Tipo
array_view::value_type Sinónimo del parámetro de typename T plantilla.
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
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).

Funciones miembro

Función Descripción
array_view::at (función) Devuelve una referencia al elemento situado 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 .
función array_view::begin Devuelve un iterador al primer elemento del objeto array_view .
función array_view::cbegin Devuelve un 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 .
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 .
función array_view::crend Devuelve un 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 .
función array_view::empty Devuelve un valor que indica si el objeto array_view está vacío (es una vista en cero elementos).
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 .
función array_view::front Devuelve una referencia al primer elemento 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 .
función array_view::rend 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 situado en la posición especificada dentro del objeto array_view .

Operadores gratuitos

Operador Descripción
operator!= (operador de desigualdad) Devuelve un valor que indica si los dos parámetros no son iguales entre sí.
operador (operador< menor que) Devuelve un valor que indica si el primer parámetro es menor que el segundo parámetro.
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.
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.
operator>= (operador mayor o igual que) Devuelve un valor que indica si el primer parámetro es mayor o igual que el segundo parámetro.

Iterators

Un array_view es un intervalo y ese intervalo se define mediante las funciones miembro array_view::begin y array_view::end , 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 array_view con una instrucción basada en for intervalos o con la función de plantilla 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 << " "; });
}

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 Número de valores (elementos) de 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 .

firstlast 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 situado 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 Posición de elemento de base cero o índice.

Valor devuelto

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 .

Sintaxis

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

Valor devuelto

Referencia al último elemento del objeto array_view .

array_view::begin (Función)

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 .

array_view::cbegin (Función)

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 .

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

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 .

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 .

array_view::crend (función)

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 .

array_view::empty (función)

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 es si el objeto array_view está vacío (es una vista en cero elementos), en caso contrario false, es .

array_view::end (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 . 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 .

array_view::front (Función)

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 situado 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 Posición de elemento de base cero o índice.

Valor devuelto

Referencia al elemento en la posición especificada dentro del objeto array_view .

array_view::rbegin (función)

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 .

array_view::rend (Función)

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

que uint32_t contiene el número de elementos del objeto array_view .

operator!= (operador de desigualdad)

Devuelve un valor que indica si los dos parámetros no 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

leftright Valor de array_view que se va a comparar con el otro parámetro.

Valor devuelto

true es si los dos parámetros no son iguales entre sí; de lo contrario false, es .

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

leftright Valor de array_view que se va a comparar con el otro parámetro.

Valor devuelto

true es si el primer parámetro es menor que el segundo parámetro; de lo contrario false, es .

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

leftright 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

leftright Valor de array_view que se va a comparar con el otro parámetro.

Valor devuelto

true es si los dos parámetros son iguales entre sí; de lo contrario false, es .

operador> (operador mayor que)

Devuelve un valor que indica si el primer parámetro es mayor que el segundo.

Sintaxis

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

Parámetros

leftright Valor de array_view que se va a comparar con el otro parámetro.

Valor devuelto

true es si el primer parámetro es mayor que el segundo parámetro; de lo contrario false, es .

operator>= (operador greater-than-or-equal-to)

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

leftright 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, .

Consulte también