NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
vector_iterator< IsConst, Vector > 模板结构体 参考

向量迭代器 更多...

#include <vector.hpp>

类 vector_iterator< IsConst, Vector > 继承关系图:
[图例]

Public 类型

using container_type = Vector
 容器类型
using value_type = typename container_type::value_type
 值类型
using size_type = typename container_type::size_type
 大小类型
using difference_type = typename container_type::difference_type
 差值类型
using iterator_category = contiguous_iterator_tag
 迭代器类别
using reference
 引用类型
using pointer
 指针类型

Public 成员函数

NEFORCE_CONSTEXPR20 vector_iterator (pointer ptr, const container_type *vec) noexcept
 构造函数
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 reference dereference () const noexcept
 解引用操作
NEFORCE_CONSTEXPR20 void increment () noexcept
 递增操作
NEFORCE_CONSTEXPR20 void decrement () noexcept
 递减操作
NEFORCE_CONSTEXPR20 void advance (difference_type off) noexcept
 前进操作
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 difference_type distance_to (const vector_iterator &other) const noexcept
 计算距离操作
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 reference operator[] (difference_type off) noexcept
 下标访问操作符
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool equal (const vector_iterator &rhs) const noexcept
 相等比较
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool less_than (const vector_iterator &rhs) const noexcept
 小于比较
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 pointer base () const noexcept
 获取底层指针
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const container_typecontainer () const noexcept
 获取关联容器
Public 成员函数 继承自 iiterator< vector_iterator< IsConst, Vector > >
NEFORCE_NODISCARD constexpr decltype(auto) operator* () const noexcept
 解引用操作符
NEFORCE_NODISCARD constexpr decltype(auto) operator-> () const noexcept
 成员访问操作符
constexpr vector_iterator< IsConst, Vector > & operator++ () noexcept
 前置递增操作符
constexpr vector_iterator< IsConst, Vector > & operator-- () noexcept
 前置递减操作符
constexpr vector_iterator< IsConst, Vector > & operator+= (Distance n) noexcept
 复合加法赋值操作符
NEFORCE_NODISCARD constexpr vector_iterator< IsConst, Vector > operator+ (Distance n) const noexcept
 加法操作符
constexpr vector_iterator< IsConst, Vector > & operator-= (Distance n) noexcept
 复合减法赋值操作符
NEFORCE_NODISCARD constexpr enable_if_t<!is_same_v< T, vector_iterator< IsConst, Vector > >, vector_iterator< IsConst, Vector > > operator- (const T n) const noexcept
 减法操作符
NEFORCE_NODISCARD constexpr bool operator== (const vector_iterator< IsConst, Vector > &rhs) const noexcept
 相等比较操作符
NEFORCE_NODISCARD constexpr bool operator!= (const vector_iterator< IsConst, Vector > &rhs) const noexcept
 不等比较操作符
NEFORCE_NODISCARD constexpr bool operator< (const vector_iterator< IsConst, Vector > &rhs) const noexcept
 小于比较操作符
NEFORCE_NODISCARD constexpr bool operator> (const vector_iterator< IsConst, Vector > &rhs) const noexcept
 大于比较操作符
NEFORCE_NODISCARD constexpr bool operator<= (const vector_iterator< IsConst, Vector > &rhs) const noexcept
 小于等于比较操作符
NEFORCE_NODISCARD constexpr bool operator>= (const vector_iterator< IsConst, Vector > &rhs) const noexcept
 大于等于比较操作符

详细描述

template<bool IsConst, typename Vector>
struct vector_iterator< IsConst, Vector >

向量迭代器

模板参数
IsConst是否常量迭代器
Vector向量类型

为vector提供迭代器支持,包含边界检查和调试验证。

在文件 vector.hpp32 行定义.

构造及析构函数说明

◆ vector_iterator()

template<bool IsConst, typename Vector>
NEFORCE_CONSTEXPR20 vector_iterator< IsConst, Vector >::vector_iterator ( pointer ptr,
const container_type * vec )
inlinenoexcept

构造函数

参数
ptr初始指针位置
vec关联容器指针

在文件 vector.hpp62 行定义.

成员函数说明

◆ advance()

template<bool IsConst, typename Vector>
NEFORCE_CONSTEXPR20 void vector_iterator< IsConst, Vector >::advance ( difference_type off)
inlinenoexcept

前进操作

参数
off前进距离

在文件 vector.hpp99 行定义.

◆ base()

template<bool IsConst, typename Vector>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 pointer vector_iterator< IsConst, Vector >::base ( ) const
inlinenoexcept

获取底层指针

返回
当前指针

在文件 vector.hpp147 行定义.

被这些函数引用 vector< byte_t >::emplace() , 以及 vector< byte_t >::operator=().

◆ container()

template<bool IsConst, typename Vector>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const container_type * vector_iterator< IsConst, Vector >::container ( ) const
inlinenoexcept

获取关联容器

返回
关联容器指针

在文件 vector.hpp153 行定义.

◆ dereference()

template<bool IsConst, typename Vector>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 reference vector_iterator< IsConst, Vector >::dereference ( ) const
inlinenoexcept

解引用操作

返回
当前元素的引用

在文件 vector.hpp70 行定义.

◆ distance_to()

template<bool IsConst, typename Vector>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 difference_type vector_iterator< IsConst, Vector >::distance_to ( const vector_iterator< IsConst, Vector > & other) const
inlinenoexcept

计算距离操作

参数
other另一个迭代器
返回
两个迭代器之间的距离

在文件 vector.hpp111 行定义.

◆ equal()

template<bool IsConst, typename Vector>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool vector_iterator< IsConst, Vector >::equal ( const vector_iterator< IsConst, Vector > & rhs) const
inlinenoexcept

相等比较

参数
rhs右侧迭代器
返回
是否相等

在文件 vector.hpp128 行定义.

◆ less_than()

template<bool IsConst, typename Vector>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool vector_iterator< IsConst, Vector >::less_than ( const vector_iterator< IsConst, Vector > & rhs) const
inlinenoexcept

小于比较

参数
rhs右侧迭代器
返回
当前迭代器是否在rhs之前

在文件 vector.hpp138 行定义.

◆ operator[]()

template<bool IsConst, typename Vector>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 reference vector_iterator< IsConst, Vector >::operator[] ( difference_type off)
inlinenoexcept

下标访问操作符

参数
off偏移量
返回
偏移位置元素的引用

在文件 vector.hpp121 行定义.


该结构体的文档由以下文件生成: