NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
neforce::sparse_vector_iterator< IsConst, SparseVector > 模板结构体 参考

稀疏向量迭代器 更多...

#include <sparse_vector.hpp>

类 neforce::sparse_vector_iterator< IsConst, SparseVector > 继承关系图:
[图例]

Public 类型

using container_type = SparseVector
 容器类型
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 = random_access_iterator_tag
 随机访问迭代器
using reference
 引用类型
using pointer
 指针类型

Public 成员函数

 sparse_vector_iterator (size_type index, const container_type *container) noexcept
 构造函数
reference dereference () const noexcept
 解引用操作
constexpr void increment () noexcept
 递增操作
constexpr void decrement () noexcept
 递减操作
void advance (difference_type n) noexcept
 随机访问递增
difference_type distance_to (const sparse_vector_iterator &rhs) const noexcept
 计算到另一迭代器的距离
bool equal_to (const sparse_vector_iterator &rhs) const noexcept
 相等比较
bool less_than (const sparse_vector_iterator &rhs) const noexcept
 小于比较
const container_typecontainer () const noexcept
 获取关联容器
size_type index () const noexcept
 获取当前索引
Public 成员函数 继承自 neforce::iiterator< sparse_vector_iterator< IsConst, SparseVector > >
constexpr decltype(auto) operator* () const noexcept
 解引用操作符
constexpr decltype(auto) operator-> () const noexcept
 成员访问操作符
constexpr sparse_vector_iterator< IsConst, SparseVector > & operator++ () noexcept
 前置递增操作符
constexpr sparse_vector_iterator< IsConst, SparseVector > & operator-- () noexcept
 前置递减操作符
constexpr sparse_vector_iterator< IsConst, SparseVector > & operator+= (Distance n) noexcept
 复合加法赋值操作符
constexpr sparse_vector_iterator< IsConst, SparseVector > operator+ (Distance n) const noexcept
 加法操作符
constexpr sparse_vector_iterator< IsConst, SparseVector > & operator-= (Distance n) noexcept
 复合减法赋值操作符
constexpr enable_if_t<!is_same_v< T, sparse_vector_iterator< IsConst, SparseVector > >, sparse_vector_iterator< IsConst, SparseVector > > operator- (const T n) const noexcept
 减法操作符
Public 成员函数 继承自 neforce::icomparable< sparse_vector_iterator< IsConst, SparseVector > >
constexpr bool operator== (const sparse_vector_iterator< IsConst, SparseVector > &rhs) const noexcept(noexcept(derived().equal_to(rhs)))
 相等比较运算符
constexpr bool operator!= (const sparse_vector_iterator< IsConst, SparseVector > &rhs) const noexcept(noexcept(!(derived().equal_to(rhs))))
 不等比较运算符
constexpr bool operator< (const sparse_vector_iterator< IsConst, SparseVector > &rhs) const noexcept(noexcept(derived().less_than(rhs)))
 小于比较运算符
constexpr bool operator> (const sparse_vector_iterator< IsConst, SparseVector > &rhs) const noexcept(noexcept(rhs.less_than(derived())))
 大于比较运算符
constexpr bool operator<= (const sparse_vector_iterator< IsConst, SparseVector > &rhs) const noexcept(noexcept(!(rhs.less_than(derived()))))
 小于等于比较运算符
constexpr bool operator>= (const sparse_vector_iterator< IsConst, SparseVector > &rhs) const noexcept(noexcept(!(derived().less_than(rhs))))
 大于等于比较运算符

详细描述

template<bool IsConst, typename SparseVector>
struct neforce::sparse_vector_iterator< IsConst, SparseVector >

稀疏向量迭代器

模板参数
IsConst是否常量迭代器
SparseVector稀疏向量类型

提供对稀疏向量元素的随机访问迭代。

在文件 sparse_vector.hpp58 行定义.

构造及析构函数说明

◆ sparse_vector_iterator()

template<bool IsConst, typename SparseVector>
neforce::sparse_vector_iterator< IsConst, SparseVector >::sparse_vector_iterator ( size_type index,
const container_type * container )
inlinenoexcept

构造函数

参数
index元素索引
container容器指针

在文件 sparse_vector.hpp91 行定义.

成员函数说明

◆ advance()

template<bool IsConst, typename SparseVector>
void neforce::sparse_vector_iterator< IsConst, SparseVector >::advance ( difference_type n)
inlinenoexcept

随机访问递增

参数
n偏移量

在文件 sparse_vector.hpp127 行定义.

◆ container()

template<bool IsConst, typename SparseVector>
const container_type * neforce::sparse_vector_iterator< IsConst, SparseVector >::container ( ) const
inlinenodiscardnoexcept

◆ dereference()

template<bool IsConst, typename SparseVector>
reference neforce::sparse_vector_iterator< IsConst, SparseVector >::dereference ( ) const
inlinenodiscardnoexcept

解引用操作

返回
当前元素的引用

在文件 sparse_vector.hpp99 行定义.

◆ distance_to()

template<bool IsConst, typename SparseVector>
difference_type neforce::sparse_vector_iterator< IsConst, SparseVector >::distance_to ( const sparse_vector_iterator< IsConst, SparseVector > & rhs) const
inlinenodiscardnoexcept

计算到另一迭代器的距离

参数
rhs右侧迭代器
返回
距离值

在文件 sparse_vector.hpp137 行定义.

◆ equal_to()

template<bool IsConst, typename SparseVector>
bool neforce::sparse_vector_iterator< IsConst, SparseVector >::equal_to ( const sparse_vector_iterator< IsConst, SparseVector > & rhs) const
inlinenodiscardnoexcept

相等比较

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

在文件 sparse_vector.hpp147 行定义.

◆ index()

◆ less_than()

template<bool IsConst, typename SparseVector>
bool neforce::sparse_vector_iterator< IsConst, SparseVector >::less_than ( const sparse_vector_iterator< IsConst, SparseVector > & rhs) const
inlinenodiscardnoexcept

小于比较

参数
rhs右侧迭代器
返回
是否小于

在文件 sparse_vector.hpp157 行定义.


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