|
| constexpr | memory_view () noexcept |
| | 默认构造函数
|
| template<typename Iterator, enable_if_t< is_cot_iter_v< Iterator >, int > = 0> |
| constexpr | explicit (Extent !=dynamic_extent) memory_view(Iterator first |
| | 从迭代器和大小构造
|
| template<typename Iterator, enable_if_t< is_cot_iter_v< Iterator >, int > = 0> |
| constexpr | explicit (Extent !=dynamic_extent) memory_view(Iterator first |
| | 从迭代器范围构造
|
| template<size_t AE> |
| constexpr | memory_view (type_identity_t< element_type >(&arr)[AE]) noexcept |
| | 从C风格数组构造
|
| template<typename U, size_t AE> |
| constexpr | memory_view (array< U, AE > &arr) noexcept |
| | 从array容器构造
|
| template<typename U, size_t AE> |
| constexpr | memory_view (const array< U, AE > &arr) noexcept |
| | 从常量array容器构造
|
| constexpr | memory_view (const memory_view &other) noexcept=default |
| | 拷贝构造函数
|
| template<typename U, size_t OE> |
| constexpr | explicit (Extent !=dynamic_extent &&OE==dynamic_extent) memory_view(const memory_view< U |
| | 从其他元素类型的视图转换构造
|
| constexpr memory_view & | operator= (const memory_view &other) noexcept=default |
| | 拷贝赋值运算符
|
|
NEFORCE_CONSTEXPR20 | ~memory_view () noexcept=default |
| | 析构函数
|
| NEFORCE_NODISCARD constexpr size_type | size () const noexcept |
| | 获取元素数量
|
| NEFORCE_NODISCARD constexpr size_type | size_bytes () const noexcept |
| | 获取字节数
|
| NEFORCE_NODISCARD constexpr bool | empty () const noexcept |
| | 检查是否为空
|
| NEFORCE_NODISCARD constexpr reference | front () const noexcept |
| | 访问第一个元素
|
| NEFORCE_NODISCARD constexpr reference | back () const noexcept |
| | 访问最后一个元素
|
| NEFORCE_NODISCARD constexpr reference | operator[] (size_type index) const noexcept |
| | 下标访问操作符
|
| NEFORCE_NODISCARD constexpr pointer | data () const noexcept |
| | 获取数据指针
|
| NEFORCE_NODISCARD constexpr iterator | begin () const noexcept |
| | 获取起始迭代器
|
| NEFORCE_NODISCARD constexpr iterator | end () const noexcept |
| | 获取结束迭代器
|
| NEFORCE_NODISCARD constexpr reverse_iterator | rbegin () const noexcept |
| | 获取反向起始迭代器
|
| NEFORCE_NODISCARD constexpr reverse_iterator | rend () const noexcept |
| | 获取反向结束迭代器
|
| template<size_t Count> |
| constexpr memory_view< element_type, Count > | first () const noexcept |
| | 获取前Count个元素的视图(编译时大小)
|
| constexpr memory_view< element_type > | first (size_type count) const noexcept |
| | 获取前count个元素的视图(运行时大小)
|
| template<size_t Count> |
| constexpr memory_view< element_type, Count > | last () const noexcept |
| | 获取后Count个元素的视图(编译时大小)
|
| constexpr memory_view< element_type > | last (size_type count) const noexcept |
| | 获取后count个元素的视图(运行时大小)
|
| template<size_t Offset, size_t Count = dynamic_extent> |
| constexpr auto | view () const noexcept -> memory_view< element_type, view_extent< Offset, Count >()> |
| | 获取子视图(编译时偏移和大小)
|
| constexpr memory_view< element_type > | view (size_type offset, size_type count=dynamic_extent) const noexcept |
| | 获取子视图(运行时偏移和大小)
|
template<typename Element,
size_t Extent = dynamic_extent>
class memory_view< Element, Extent >
内存视图模板
- 模板参数
-
| Element | 元素类型 |
| Extent | 静态范围大小,默认为dynamic_extent |
memory_view是一个非拥有的连续内存视图,针对内存操作优化。 可以指向任意连续内存块。支持编译时和运行时大小确定。 提供类似容器的接口,但不进行内存管理。
在文件 memory_view.hpp 第 90 行定义.