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

哈希表迭代器 更多...

#include <hashtable.hpp>

类 hashtable_iterator< IsConst, HashTable > 继承关系图:
[图例]

Public 类型

using container_type = HashTable
 容器类型
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 = forward_iterator_tag
 迭代器类别(前向迭代器)
using reference
 引用类型
using pointer
 指针类型

Public 成员函数

 hashtable_iterator (node_type *ptr, const size_type bucket, const HashTable *ht)
 构造函数
reference dereference () const noexcept
 解引用操作
void increment () noexcept
 递增操作
bool equal_to (const hashtable_iterator &rhs) const noexcept
 相等比较
const node_type * base () const noexcept
 获取底层指针
size_type bucket () const noexcept
 获取桶索引
const container_typecontainer () const noexcept
 获取关联容器
Public 成员函数 继承自 iiterator< hashtable_iterator< IsConst, HashTable > >
constexpr decltype(auto) operator* () const noexcept
 解引用操作符
constexpr decltype(auto) operator-> () const noexcept
 成员访问操作符
constexpr hashtable_iterator< IsConst, HashTable > & operator++ () noexcept
 前置递增操作符
constexpr hashtable_iterator< IsConst, HashTable > & operator-- () noexcept
 前置递减操作符
constexpr hashtable_iterator< IsConst, HashTable > & operator+= (Distance n) noexcept
 复合加法赋值操作符
constexpr hashtable_iterator< IsConst, HashTable > operator+ (Distance n) const noexcept
 加法操作符
constexpr hashtable_iterator< IsConst, HashTable > & operator-= (Distance n) noexcept
 复合减法赋值操作符
constexpr enable_if_t<!is_same_v< T, hashtable_iterator< IsConst, HashTable > >, hashtable_iterator< IsConst, HashTable > > operator- (const T n) const noexcept
 减法操作符
Public 成员函数 继承自 icomparable< hashtable_iterator< IsConst, HashTable > >
constexpr bool operator== (const hashtable_iterator< IsConst, HashTable > &rhs) const noexcept(noexcept(derived().equal_to(rhs)))
 相等比较运算符
constexpr bool operator!= (const hashtable_iterator< IsConst, HashTable > &rhs) const noexcept(noexcept(!(derived().equal_to(rhs))))
 不等比较运算符
constexpr bool operator< (const hashtable_iterator< IsConst, HashTable > &rhs) const noexcept(noexcept(derived().less_than(rhs)))
 小于比较运算符
constexpr bool operator> (const hashtable_iterator< IsConst, HashTable > &rhs) const noexcept(noexcept(rhs.less_than(derived())))
 大于比较运算符
constexpr bool operator<= (const hashtable_iterator< IsConst, HashTable > &rhs) const noexcept(noexcept(!(rhs.less_than(derived()))))
 小于等于比较运算符
constexpr bool operator>= (const hashtable_iterator< IsConst, HashTable > &rhs) const noexcept(noexcept(!(derived().less_than(rhs))))
 大于等于比较运算符

详细描述

template<bool IsConst, typename HashTable>
struct hashtable_iterator< IsConst, HashTable >

哈希表迭代器

模板参数
IsConst是否常量迭代器
HashTable哈希表类型

提供对哈希表元素的前向迭代访问。

在文件 hashtable.hpp168 行定义.

构造及析构函数说明

◆ hashtable_iterator()

template<bool IsConst, typename HashTable>
hashtable_iterator< IsConst, HashTable >::hashtable_iterator ( node_type * ptr,
const size_type bucket,
const HashTable * ht )
inline

构造函数

参数
ptr节点指针
bucket桶索引
ht哈希表指针

在文件 hashtable.hpp205 行定义.

成员函数说明

◆ base()

template<bool IsConst, typename HashTable>
const node_type * hashtable_iterator< IsConst, HashTable >::base ( ) const
inlinenodiscardnoexcept

获取底层指针

返回
当前节点指针

在文件 hashtable.hpp250 行定义.

◆ bucket()

template<bool IsConst, typename HashTable>
size_type hashtable_iterator< IsConst, HashTable >::bucket ( ) const
inlinenodiscardnoexcept

获取桶索引

返回
当前桶索引

在文件 hashtable.hpp256 行定义.

◆ container()

template<bool IsConst, typename HashTable>
const container_type * hashtable_iterator< IsConst, HashTable >::container ( ) const
inlinenodiscardnoexcept

获取关联容器

返回
关联容器指针

在文件 hashtable.hpp262 行定义.

◆ dereference()

template<bool IsConst, typename HashTable>
reference hashtable_iterator< IsConst, HashTable >::dereference ( ) const
inlinenodiscardnoexcept

解引用操作

返回
当前元素的引用

在文件 hashtable.hpp214 行定义.

◆ equal_to()

template<bool IsConst, typename HashTable>
bool hashtable_iterator< IsConst, HashTable >::equal_to ( const hashtable_iterator< IsConst, HashTable > & rhs) const
inlinenodiscardnoexcept

相等比较

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

在文件 hashtable.hpp241 行定义.

◆ increment()

template<bool IsConst, typename HashTable>
void hashtable_iterator< IsConst, HashTable >::increment ( )
inlinenoexcept

递增操作

移动到当前链表的下一个节点,如果当前链表结束,则查找下一个非空桶。

在文件 hashtable.hpp226 行定义.


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