Namespaces
Variants

std:: default_accessor

From cppreference.net
定义于头文件 <mdspan>
template < class ElementType >
class default_accessor ;
(C++23 起)

std::default_accessor 类模板的特化是 std::mdspan 的默认 访问策略 ,当未提供用户自定义的访问策略时使用。

default_accessor 的每个特化均满足 semiregular 概念,且为 TriviallyCopyable 类型。

目录

模板参数

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

成员类型

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

成员函数

(constructor)
构造 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 ) 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 ;

示例