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

红黑树迭代器 更多...

#include <rb_tree.hpp>

类 rb_tree_iterator< IsConst, RbTree > 继承关系图:
[图例]

Public 类型

using container_type = RbTree
 容器类型
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 = rb_tree_base_iterator::iterator_category
 迭代器类别(双向)
using reference
 引用类型
using pointer
 指针类型
Public 类型 继承自 rb_tree_base_iterator
using iterator_category = bidirectional_iterator_tag
 双向迭代器

Public 成员函数

 rb_tree_iterator (node_type *ptr, const container_type *tree) noexcept
 构造函数
NEFORCE_NODISCARD reference dereference () const noexcept
 解引用操作
NEFORCE_CONSTEXPR20 void increment () noexcept
 递增操作
NEFORCE_CONSTEXPR20 void decrement () noexcept
 递减操作
NEFORCE_NODISCARD bool equal (const rb_tree_iterator &rhs) const noexcept
 相等比较
NEFORCE_NODISCARD pointer base () const noexcept
 获取底层指针
NEFORCE_NODISCARD const container_typecontainer () const noexcept
 获取关联容器
Public 成员函数 继承自 iiterator< rb_tree_iterator< IsConst, RbTree > >
NEFORCE_NODISCARD constexpr decltype(auto) operator* () const noexcept
 解引用操作符
NEFORCE_NODISCARD constexpr decltype(auto) operator-> () const noexcept
 成员访问操作符
constexpr rb_tree_iterator< IsConst, RbTree > & operator++ () noexcept
 前置递增操作符
constexpr rb_tree_iterator< IsConst, RbTree > & operator-- () noexcept
 前置递减操作符
constexpr rb_tree_iterator< IsConst, RbTree > & operator+= (Distance n) noexcept
 复合加法赋值操作符
NEFORCE_NODISCARD constexpr rb_tree_iterator< IsConst, RbTree > operator+ (Distance n) const noexcept
 加法操作符
constexpr rb_tree_iterator< IsConst, RbTree > & operator-= (Distance n) noexcept
 复合减法赋值操作符
NEFORCE_NODISCARD constexpr enable_if_t<!is_same_v< T, rb_tree_iterator< IsConst, RbTree > >, rb_tree_iterator< IsConst, RbTree > > operator- (const T n) const noexcept
 减法操作符
NEFORCE_NODISCARD constexpr bool operator== (const rb_tree_iterator< IsConst, RbTree > &rhs) const noexcept
 相等比较操作符
NEFORCE_NODISCARD constexpr bool operator!= (const rb_tree_iterator< IsConst, RbTree > &rhs) const noexcept
 不等比较操作符
NEFORCE_NODISCARD constexpr bool operator< (const rb_tree_iterator< IsConst, RbTree > &rhs) const noexcept
 小于比较操作符
NEFORCE_NODISCARD constexpr bool operator> (const rb_tree_iterator< IsConst, RbTree > &rhs) const noexcept
 大于比较操作符
NEFORCE_NODISCARD constexpr bool operator<= (const rb_tree_iterator< IsConst, RbTree > &rhs) const noexcept
 小于等于比较操作符
NEFORCE_NODISCARD constexpr bool operator>= (const rb_tree_iterator< IsConst, RbTree > &rhs) const noexcept
 大于等于比较操作符

额外继承的成员函数

Protected 类型 继承自 rb_tree_base_iterator
using base_ptr = rb_tree_node_base::base_ptr
 基类指针类型
Protected 成员函数 继承自 rb_tree_base_iterator
void increment () noexcept
 递增操作(移动到中序遍历的后继节点)
void decrement () noexcept
 递减操作(移动到中序遍历的前驱节点)
Protected 属性 继承自 rb_tree_base_iterator
base_ptr node_ = nullptr
 当前节点指针

详细描述

template<bool IsConst, typename RbTree>
struct rb_tree_iterator< IsConst, RbTree >

红黑树迭代器

模板参数
IsConst是否常量迭代器
RbTree红黑树类型

提供对红黑树元素的迭代访问。

在文件 rb_tree.hpp501 行定义.

构造及析构函数说明

◆ rb_tree_iterator()

template<bool IsConst, typename RbTree>
rb_tree_iterator< IsConst, RbTree >::rb_tree_iterator ( node_type * ptr,
const container_type * tree )
inlinenoexcept

构造函数

参数
ptr节点指针
tree容器指针

在文件 rb_tree.hpp537 行定义.

成员函数说明

◆ base()

template<bool IsConst, typename RbTree>
NEFORCE_NODISCARD pointer rb_tree_iterator< IsConst, RbTree >::base ( ) const
inlinenoexcept

获取底层指针

返回
当前节点指针

在文件 rb_tree.hpp586 行定义.

◆ container()

template<bool IsConst, typename RbTree>
NEFORCE_NODISCARD const container_type * rb_tree_iterator< IsConst, RbTree >::container ( ) const
inlinenoexcept

获取关联容器

返回
关联容器指针

在文件 rb_tree.hpp592 行定义.

◆ dereference()

template<bool IsConst, typename RbTree>
NEFORCE_NODISCARD reference rb_tree_iterator< IsConst, RbTree >::dereference ( ) const
inlinenoexcept

解引用操作

返回
当前元素的引用

在文件 rb_tree.hpp546 行定义.

◆ equal()

template<bool IsConst, typename RbTree>
NEFORCE_NODISCARD bool rb_tree_iterator< IsConst, RbTree >::equal ( const rb_tree_iterator< IsConst, RbTree > & rhs) const
inlinenoexcept

相等比较

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

在文件 rb_tree.hpp577 行定义.


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