Namespaces
Variants

std:: default_accessor

From cppreference.net
Определено в заголовочном файле <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
возвращает дескриптор данных, смещенный на значение 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 ( * ) [ ] > истинно.

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

Пример