MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
normal_iterator< Iterator > 模板类 参考

标准迭代器适配器 更多...

#include <normal_iterator.hpp>

Public 类型

using iterator_type = Iterator
 底层迭代器类型
using iterator_category = iter_category_t<Iterator>
 迭代器类别
using value_type = iter_value_t<Iterator>
 元素值类型
using difference_type = iter_difference_t<Iterator>
 差值类型
using reference = iter_reference_t<Iterator>
 引用类型
using pointer = iter_pointer_t<Iterator>
 指针类型

Public 成员函数

constexpr normal_iterator () noexcept(is_nothrow_default_constructible_v< Iterator >)
 默认构造函数
constexpr normal_iterator (const Iterator &iter) noexcept(is_nothrow_copy_constructible_v< Iterator >)
 从底层迭代器构造
template<typename Iter, enable_if_t< is_convertible_v< Iter, Iterator >, int > = 0>
constexpr normal_iterator (const normal_iterator< Iter > &other) noexcept(is_nothrow_copy_constructible_v< Iterator >)
 从其他normal_iterator转换构造
constexpr reference operator* () const noexcept
 解引用操作符
constexpr pointer operator-> () const noexcept
 成员访问操作符
constexpr normal_iteratoroperator++ () noexcept(noexcept(++current_))
 前置自增操作符
constexpr normal_iterator operator++ (int) noexcept(noexcept(current_++))
 后置自增操作符
constexpr normal_iteratoroperator-- () noexcept(noexcept(--current_))
 前置自减操作符
constexpr normal_iterator operator-- (int) noexcept(noexcept(current_--))
 后置自减操作符
constexpr reference operator[] (difference_type n) const noexcept
 下标访问操作符
constexpr normal_iteratoroperator+= (difference_type n) noexcept(noexcept(current_+=n))
 加法赋值操作符
constexpr normal_iterator operator+ (difference_type n) const noexcept(noexcept(current_+n))
 加法操作符
constexpr normal_iteratoroperator-= (difference_type n) noexcept(noexcept(current_ -=n))
 减法赋值操作符
constexpr normal_iterator operator- (difference_type n) const noexcept(noexcept(current_ - n))
 减法操作符
constexpr const Iterator & base () const noexcept
 获取底层迭代器

详细描述

template<typename Iterator>
class normal_iterator< Iterator >

标准迭代器适配器

模板参数
Iterator底层迭代器类型

将底层迭代器包装为标准迭代器接口,提供完整的迭代器操作和关系运算符,确保所有迭代器具有一致的接口。

在文件 normal_iterator.hpp28 行定义.

构造及析构函数说明

◆ normal_iterator() [1/2]

template<typename Iterator>
normal_iterator< Iterator >::normal_iterator ( const Iterator & iter)
inlineexplicitconstexprnoexcept

从底层迭代器构造

参数
iter底层迭代器

在文件 normal_iterator.hpp51 行定义.

◆ normal_iterator() [2/2]

template<typename Iterator>
template<typename Iter, enable_if_t< is_convertible_v< Iter, Iterator >, int > = 0>
normal_iterator< Iterator >::normal_iterator ( const normal_iterator< Iter > & other)
inlineconstexprnoexcept

从其他normal_iterator转换构造

模板参数
Iter可转换为Iterator的类型
参数
other其他normal_iterator实例

在文件 normal_iterator.hpp61 行定义.

成员函数说明

◆ base()

template<typename Iterator>
const Iterator & normal_iterator< Iterator >::base ( ) const
inlineconstexprnoexcept

获取底层迭代器

返回
底层迭代器的常量引用

在文件 normal_iterator.hpp170 行定义.

◆ operator*()

template<typename Iterator>
reference normal_iterator< Iterator >::operator* ( ) const
inlineconstexprnoexcept

解引用操作符

返回
当前元素的引用

在文件 normal_iterator.hpp69 行定义.

◆ operator+()

template<typename Iterator>
normal_iterator normal_iterator< Iterator >::operator+ ( difference_type n) const
inlineconstexprnoexcept

加法操作符

参数
n要增加的偏移量
返回
增加偏移后的新迭代器

在文件 normal_iterator.hpp140 行定义.

◆ operator++() [1/2]

template<typename Iterator>
normal_iterator & normal_iterator< Iterator >::operator++ ( )
inlineconstexprnoexcept

前置自增操作符

返回
自增后的迭代器引用

在文件 normal_iterator.hpp81 行定义.

◆ operator++() [2/2]

template<typename Iterator>
normal_iterator normal_iterator< Iterator >::operator++ ( int )
inlineconstexprnoexcept

后置自增操作符

返回
自增前的迭代器副本

在文件 normal_iterator.hpp91 行定义.

◆ operator+=()

template<typename Iterator>
normal_iterator & normal_iterator< Iterator >::operator+= ( difference_type n)
inlineconstexprnoexcept

加法赋值操作符

参数
n要增加的偏移量
返回
修改后的迭代器引用

在文件 normal_iterator.hpp129 行定义.

◆ operator-()

template<typename Iterator>
normal_iterator normal_iterator< Iterator >::operator- ( difference_type n) const
inlineconstexprnoexcept

减法操作符

参数
n要减少的偏移量
返回
减少偏移后的新迭代器

在文件 normal_iterator.hpp161 行定义.

◆ operator--() [1/2]

template<typename Iterator>
normal_iterator & normal_iterator< Iterator >::operator-- ( )
inlineconstexprnoexcept

前置自减操作符

返回
自减后的迭代器引用

在文件 normal_iterator.hpp100 行定义.

◆ operator--() [2/2]

template<typename Iterator>
normal_iterator normal_iterator< Iterator >::operator-- ( int )
inlineconstexprnoexcept

后置自减操作符

返回
自减前的迭代器副本

在文件 normal_iterator.hpp110 行定义.

◆ operator-=()

template<typename Iterator>
normal_iterator & normal_iterator< Iterator >::operator-= ( difference_type n)
inlineconstexprnoexcept

减法赋值操作符

参数
n要减少的偏移量
返回
修改后的迭代器引用

在文件 normal_iterator.hpp150 行定义.

◆ operator->()

template<typename Iterator>
pointer normal_iterator< Iterator >::operator-> ( ) const
inlineconstexprnoexcept

成员访问操作符

返回
当前元素的指针

在文件 normal_iterator.hpp75 行定义.

◆ operator[]()

template<typename Iterator>
reference normal_iterator< Iterator >::operator[] ( difference_type n) const
inlineconstexprnoexcept

下标访问操作符

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

在文件 normal_iterator.hpp120 行定义.


该类的文档由以下文件生成: