Шаблон структуры winrt::array_view (C++/WinRT)
Представление или диапазон непрерывного ряда значений. Дополнительные примеры и сведения о winrt::array_view см. в разделах Стандартные типы данных C++ и C++/WinRT.
Синтаксис
template <typename T>
struct array_view
Параметры шаблона
typename T
Тип значений (элементов), которые array_view просматривает или охватывает.
Требования
Минимальный поддерживаемый пакет SDK: Windows SDK версии 10.0.17134.0 (Windows 10, версия 1803)
Пространство имен: winrt
Заголовок: %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (включен по умолчанию)
Псевдонимы типов элементов
Имя псевдонима | Тип |
---|---|
array_view::value_type | Синоним параметра typename T шаблона. |
array_view::size_type | Синоним uint32_t. |
array_view::reference | Синоним array_view::value_type&. |
array_view::const_reference | Синоним array_view::value_type const&. |
array_view::p ointer | Синоним array_view::value_type*. |
array_view::const_pointer | Синоним array_view::value_type const*. |
array_view::iterator | Синоним определяемого реализацией итератора массива array_view::value_type. |
array_view::const_iterator | Синоним определяемого реализацией итератора массива array_view::value_type const. |
array_view::reverse_iterator | Синоним std::reverse_iterator<array_view::iterator>. |
array_view::const_reverse_iterator | Синоним std::reverse_iterator<array_view::const_iterator>. |
Конструкторы
Конструктор | Описание |
---|---|
Конструктор array_view::array_view | Инициализирует новый экземпляр структуры array_view в виде представления (а не копии) входных данных. |
Функции элементов
Функция | Описание |
---|---|
Функция array_view::at | Возвращает ссылку на элемент в указанной позиции в объекте array_view . |
Функция array_view::back | Возвращает ссылку на последний элемент в объекте array_view . |
Функция array_view::begin | Возвращает итератор для первого элемента в объекте array_view . |
Функция array_view::cbegin | Возвращает константный итератор для первого элемента в объекте array_view . |
Функция array_view::cend | Возвращает константный итератор за пределами конца (за пределами последнего элемента в) объекта array_view . |
Функция array_view::crbegin | Возвращает константный обратный итератор за пределами конца (за пределами последнего элемента в) объекта array_view . |
Функция array_view::crend | Возвращает константный обратный итератор для первого элемента в объекте array_view . |
Функция array_view::d ata | Возвращает указатель на базовые данные, просматриваемые объектом array_view . |
Функция array_view::empty | Возвращает значение, указывающее, является ли объект array_view пустым (является представлением для нулевых элементов). |
Функция array_view::end | Возвращает итератор за пределами конца (за пределами последнего элемента в) объекта array_view . |
Функция array_view::front | Возвращает ссылку на первый элемент в объекте array_view . |
Функция array_view::rbegin | Возвращает обратный итератор за пределами конца (за пределами последнего элемента в) объекта array_view . |
Функция array_view::rend | Возвращает обратный итератор для первого элемента в объекте array_view . |
Функция array_view::size | Возвращает количество элементов в объекте array_view . |
Операторы-члены
Оператор | Описание |
---|---|
array_view::operator[] (оператор subscript) | Возвращает ссылку на элемент в указанной позиции в объекте array_view . |
Операторы free
Оператор | Описание |
---|---|
operator!= (оператор неравенства) | Возвращает значение, указывающее, не равны ли эти два параметра друг другу. |
оператор< (оператор меньше) | Возвращает значение, указывающее, меньше ли первый параметр второго. |
operator<= (оператор меньше или равно) | Возвращает значение, указывающее, меньше или равен ли первый параметр второму параметру. |
operator== (оператор равенства) | Возвращает значение, указывающее, равны ли два параметра друг другу. |
оператор> (оператор больше) | Возвращает значение, указывающее, больше ли первый параметр второго. |
operator>= (оператор больше или равно) | Возвращает значение, указывающее, больше или равен ли первый параметр второму параметру. |
Iterators
Array_view — это диапазон, который определяется функциями-членами array_view::begin и array_view::end, каждая из которых возвращает итератор (см. также array_view::cbegin и array_view::cend). Поэтому можно перечислить символы в объекте array_view с помощью инструкции на основе for
диапазона или с помощью функции шаблона 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 << " "; });
}
Конструктор array_view::array_view
Инициализирует новый экземпляр структуры array_view в виде представления (а не копии) входных данных.
Синтаксис
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;
Параметры шаблона
typename C
Тип значений (элементов) во входных данных.
uint32_t N
Количество значений (элементов) во входных данных.
Параметры
rawArrayValue
Необработанное значение массива, которое инициализирует объект array_view .
arrayValue
Значение std::array , которое инициализирует объект array_view .
initializerListValue
Значение списка инициализатора, которое инициализирует объект array_view .
vectorValue
Значение std::vector , которое инициализирует объект array_view .
first
last
Указатели на значения, с помощью которых инициализируется объект array_view . Если first
равно last
, объект array_view пуст.
Пример
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
Возвращает ссылку на элемент в указанной позиции в объекте array_view .
Синтаксис
T& at(uint32_t const pos);
T const& at(uint32_t const pos) const;
Параметры
pos
Отсчитываемая от нуля позиция элемента или индекс.
Возвращаемое значение
Ссылка на элемент в указанной позиции в объекте array_view .
Функция array_view::back
Возвращает ссылку на последний элемент в объекте array_view .
Синтаксис
T const& back() const noexcept;
T& back() noexcept;
Возвращаемое значение
Ссылка на последний элемент в объекте array_view .
Функция array_view::begin
Возвращает итератор для первого элемента в объекте array_view . См. итераторы.
Синтаксис
stdext::checked_array_iterator<T const> begin() const noexcept;
stdext::checked_array_iterator<T> begin() noexcept;
Возвращаемое значение
Итератор для первого элемента в объекте array_view .
Функция array_view::cbegin
Возвращает константный итератор для первого элемента в объекте array_view . См. итераторы.
Синтаксис
stdext::checked_array_iterator<T const> cbegin() const noexcept;
Возвращаемое значение
Константный итератор к первому элементу в объекте array_view .
Функция array_view::cend
Возвращает константный итератор в один за пределами конца (за последним элементом в) объекта array_view . См. итераторы.
Синтаксис
stdext::checked_array_iterator<T const> cend() const noexcept;
Возвращаемое значение
Константный итератор к одному за пределами конца (за последним элементом в) объекта array_view .
Функция array_view::crbegin
Возвращает константный обратный итератор в один за пределами конца объекта array_view (за последним элементом в).
Синтаксис
std::reverse_iterator<stdext::checked_array_iterator<T const>> crbegin() const noexcept;
Возвращаемое значение
Константный обратный итератор на один за пределами конца (за последним элементом в) объекта array_view .
Функция array_view::crend
Возвращает обратный итератор const для первого элемента в объекте array_view .
Синтаксис
std::reverse_iterator<stdext::checked_array_iterator<T const>> crend() const noexcept;
Возвращаемое значение
Константный обратный итератор к первому элементу в объекте array_view .
Функция array_view::d ata
Возвращает указатель на базовые данные, просматриваемые объектом array_view .
Синтаксис
T const* data() const noexcept;
T* data() noexcept;
Возвращаемое значение
Указатель на базовые данные, просматриваемые объектом array_view .
Функция array_view::empty
Возвращает значение, указывающее, является ли объект array_view пустым (является представлением для нулевых элементов).
Синтаксис
bool empty() const noexcept;
Возвращаемое значение
true
Значение , если объект array_view пуст (является представлением для нулевых элементов), в противном случае — false
значение .
Функция array_view::end
Возвращает итератор, который выходит за пределы конца объекта array_view (за последним элементом в). См. итераторы.
Синтаксис
stdext::checked_array_iterator<T const> end() const noexcept;
stdext::checked_array_iterator<T> end() noexcept;
Возвращаемое значение
Итератор к одному за пределами конца объекта array_view (за последним элементом в).
Функция array_view::front
Возвращает ссылку на первый элемент в объекте array_view .
Синтаксис
T const& front() const noexcept;
T& front() noexcept;
Возвращаемое значение
Ссылка на первый элемент в объекте array_view .
array_view::operator[] (оператор subscript)
Возвращает ссылку на элемент в указанной позиции в объекте array_view .
Синтаксис
T const& operator[](uint32_t const pos) const noexcept;
T& operator[](uint32_t const pos) noexcept;
Параметры
pos
Отсчитываемая от нуля позиция элемента или индекс.
Возвращаемое значение
Ссылка на элемент в указанной позиции в объекте array_view .
Функция array_view::rbegin
Возвращает обратный итератор на один за пределами конца (за последним элементом в) объекта array_view .
Синтаксис
std::reverse_iterator<stdext::checked_array_iterator<T const>> rbegin() const noexcept;
std::reverse_iterator<stdext::checked_array_iterator<T>> rbegin() noexcept;
Возвращаемое значение
Обратный итератор на один за пределами конца (один за последним элементом в) объекта array_view .
Функция array_view::rend
Возвращает обратный итератор для первого элемента в объекте array_view .
Синтаксис
std::reverse_iterator<stdext::checked_array_iterator<T const>> rend() const noexcept;
std::reverse_iterator<stdext::checked_array_iterator<T>> rend() noexcept;
Возвращаемое значение
Обратный итератор к первому элементу в объекте array_view .
Функция array_view::size
Возвращает количество элементов в объекте array_view .
Синтаксис
uint32_t size() const noexcept;
Возвращаемое значение
Объект , uint32_t
содержащий количество элементов в объекте array_view .
operator!= (оператор неравенства)
Возвращает значение, указывающее, не отличаются ли два параметра друг от друга.
Синтаксис
template <typename T> bool operator!=(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;
Параметры
left
right
Значение array_view для сравнения с другим параметром.
Возвращаемое значение
true
Значение , если два параметра не равны друг другу, в противном случае — false
значение .
operator< (оператор "меньше")
Возвращает значение, указывающее, меньше ли первый параметр второго.
Синтаксис
template <typename T> bool operator<(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;
Параметры
left
right
Значение array_view для сравнения с другим параметром.
Возвращаемое значение
true
Значение , если первый параметр меньше второго, в противном случае — false
значение .
operator<= (оператор меньше или равно)
Возвращает значение, указывающее, меньше или равен ли первый параметр второму параметру.
Синтаксис
template <typename T> bool operator<=(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;
Параметры
left
right
Значение array_view для сравнения с другим параметром.
Возвращаемое значение
true
Значение , если первый параметр меньше или равен второму параметру, в противном случае — false
значение .
operator== (оператор равенства)
Возвращает значение, указывающее, равны ли два параметра друг другу.
Синтаксис
template <typename T> bool operator==(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;
Параметры
left
right
Значение array_view для сравнения с другим параметром.
Возвращаемое значение
true
Значение , если два параметра равны друг другу, в противном случае — false
значение .
operator> (оператор больше)
Возвращает значение, указывающее, больше ли первый параметр второго.
Синтаксис
template <typename T> bool operator>(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;
Параметры
left
right
Значение array_view для сравнения с другим параметром.
Возвращаемое значение
true
Значение , если первый параметр больше второго, в противном случае — false
значение .
operator>= (оператор больше или равно)
Возвращает значение, указывающее, больше или равен ли первый параметр второму параметру.
Синтаксис
template <typename T> bool operator>=(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;
Параметры
left
right
Значение array_view для сравнения с другим параметром.
Возвращаемое значение
true
Значение , если первый параметр больше или равен второму параметру, в противном случае — false
значение .
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по