std::default_accessor
Определён в заголовке <mdspan> | ||
|---|---|---|
template< class ElementType > class default_accessor; | (начиная с C++23) |
Специализация шаблона класса std::default_accessor является политикой доступа (AccessorPolicy) по умолчанию, используемой std::mdspan, если пользовательская политика доступа не задана.
Каждая специализация default_accessor соответствует требованиям semiregular и является тривиально копируемой (TriviallyCopyable).
Параметры шаблона
| ElementType | - | тип элемента. Должен быть полным типом объекта, который не является ни абстрактным типом класса, ни типом массива. В противном случае программа некорректна |
Типы-члены
| Тип-член | Определение |
|---|---|
offset_policy |
default_accessor |
element_type |
ElementType |
reference |
ElementType& |
data_handle_type |
ElementType* |
Функции-члены
|
(конструктор) | создаёт default_accessor (открытая функция-член) |
|
access | возвращает n-й элемент, заданный аргументами (открытая функция-член) |
|
offset | возвращает дескриптор данных, смещённый на заданное значение (открытая функция-член) |
std::default_accessor::default_accessor
constexpr default_accessor() noexcept = default; | (1) | |
template< class OtherElementType >
constexpr default_accessor( default_accessor<OtherElementType> ) noexcept {}
| (2) |
1) Создаёт
default_accessor по умолчанию.
2) Создаёт
default_accessor из default_accessor<OtherElementType>. Конструктор не оказывает видимого эффекта. Эта перегрузка участвует в разрешении перегрузки только если std::is_convertible_v<OtherElementType(*)[], element_type(*)[]> имеет значение true. std::default_accessor::access
constexpr reference access( data_handle_type p, std::size_t i ) const noexcept; |
Эквивалентно return p[i];.
std::default_accessor::offset
constexpr data_handle_type offset( data_handle_type p, std::size_t i ) const noexcept; |
Эквивалентно return p + i;.
Пример
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/mdspan/default_accessor