Spec-Zone.ru › C++

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API