NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
path::split_iterator类 参考

路径分割迭代器 更多...

#include <path.hpp>

Public 类型

using value_type = string_view
 值类型
using reference = value_type
 引用类型
using pointer = void
 指针类型
using iterator_category = forward_iterator_tag
 迭代器类别
using difference_type = ptrdiff_t
 差值类型

Public 成员函数

 split_iterator () noexcept=default
 默认构造函数
 split_iterator (const string *path, const size_t pos=0)
 构造函数
reference operator* () const noexcept
 解引用操作符
split_iteratoroperator++ ()
 前置递增操作符
split_iterator operator++ (int)
 后置递增操作符
NEFORCE_NODISCARD bool operator== (const split_iterator &b) const noexcept
 相等比较操作符
NEFORCE_NODISCARD bool operator!= (const split_iterator &b) const noexcept
 不等比较操作符

详细描述

路径分割迭代器

将文件路径分割为各个组件(如目录名、文件名)的迭代器。 支持Windows和Linux的路径格式:

  • Windows: "C:\Windows\System32" -> "C:", "Windows", "System32"
  • Linux: "/usr/local/bin" -> "", "usr", "local", "bin"

使用前向迭代器接口,适用于范围for循环和标准算法。

在文件 path.hpp76 行定义.

构造及析构函数说明

◆ split_iterator() [1/2]

path::split_iterator::split_iterator ( )
defaultnoexcept

默认构造函数

构造一个结束迭代器。

被这些函数引用 operator!=(), operator++(), operator++(), operator==() , 以及 split_iterator().

◆ split_iterator() [2/2]

path::split_iterator::split_iterator ( const string * path,
const size_t pos = 0 )
inlineexplicit

构造函数

参数
path要遍历的路径字符串指针
pos起始位置(默认为0)

构造一个从指定位置开始遍历路径的迭代器。 如果路径为空或起始位置无效,则构造为结束迭代器。

在文件 path.hpp114 行定义.

引用了 path::path() , 以及 split_iterator().

成员函数说明

◆ operator!=()

NEFORCE_NODISCARD bool path::split_iterator::operator!= ( const split_iterator & b) const
inlinenoexcept

不等比较操作符

参数
b另一个迭代器
返回
两个迭代器是否不等

在文件 path.hpp187 行定义.

引用了 split_iterator().

◆ operator*()

reference path::split_iterator::operator* ( ) const
inlinenoexcept

解引用操作符

返回
当前路径组件的字符串视图

返回当前组件的字符串视图,不包含路径分隔符。

在文件 path.hpp131 行定义.

引用了 basic_string_view< CharT, Traits >::view().

◆ operator++() [1/2]

split_iterator & path::split_iterator::operator++ ( )
inline

前置递增操作符

返回
递增后的迭代器引用

移动到下一个路径组件。

在文件 path.hpp139 行定义.

引用了 split_iterator().

◆ operator++() [2/2]

split_iterator path::split_iterator::operator++ ( int )
inline

后置递增操作符

返回
递增前的迭代器副本

在文件 path.hpp157 行定义.

引用了 split_iterator().

◆ operator==()

NEFORCE_NODISCARD bool path::split_iterator::operator== ( const split_iterator & b) const
inlinenoexcept

相等比较操作符

参数
b另一个迭代器
返回
两个迭代器是否相等

两个迭代器相等当且仅当:

  • 两者都处于结束状态,或者
  • 指向同一个路径且当前位置相同

在文件 path.hpp172 行定义.

引用了 split_iterator().


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