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(*)[]> истинно.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/w/cpp/container/mdspan/default_accessor