命名空间
变体
操作

std::default_accessor

来自 cppreference.com
< cpp‎ | container‎ | mdspan
 
 
 
 
定义在头文件 <mdspan>
template< class ElementType >
class default_accessor;
(自 C++23 起)

std::default_accessor 类模板的专门化是 std::mdspan 使用的默认 AccessorPolicy,如果未提供用户指定的访问器策略。

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<OtherElementType> 构造 default_accessor。构造函数没有可见的效果。此重载仅在 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;.

[编辑] 示例