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_policydefault_accessor
element_typeElementType
referenceElementType&
data_handle_typeElementType*

[编辑]成员函数

(构造函数)
构造 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(*)[]> 为 true 时此重载才参与重载决议。

std::default_accessor::access

constexpr reference access( data_handle_type p, std::size_t i )constnoexcept;

等价于 return p[i];

std::default_accessor::offset

constexpr data_handle_type offset( data_handle_type p, std::size_t i )constnoexcept;

等价于 return p + i;

[编辑]示例

close