命名空间
变体
操作

std::default_accessor

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

`std::default_accessor` 类模板的特化是 AccessorPolicy,如果未提供用户指定的访问器策略,则由 std::mdspan 使用。

`default_accessor` 的每个特化都模型化 semiregular 并且是 TriviallyCopyable

目录

[edit] 模板参数

ElementType - 元素类型。应为完整的对象类型,既不是抽象类类型也不是数组类型。否则,程序是非良构的

[edit] 成员类型

成员类型 定义
offset_policy default_accessor
element_type ElementType
reference ElementType&
data_handle_type ElementType*

[edit] 成员函数

(构造函数)
构造一个 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;

[edit] 示例