Doxygen
DirIterator类 参考

#include <dir.h>

struct  Private
 

Public 类型

using value_type = DirEntry
 
using difference_type = std::ptrdiff_t
 
using pointer = value_type *
 
using reference = value_type &
 
using iterator_category = std::input_iterator_tag
 

Public 成员函数

 DirIterator (const DirIterator &it)
 
DirIteratoroperator= (const DirIterator &it)
 
DirIterator operator++ ()
 
const value_typeoperator* () const
 
const value_typeoperator-> () const
 
 ~DirIterator ()
 

Private 成员函数

 DirIterator ()
 
 DirIterator (const std::string &path)
 

Private 属性

std::unique_ptr< Privatep
 

友元

class Dir
 
bool operator== (const DirIterator &it1, const DirIterator &it2)
 
bool operator!= (const DirIterator &it1, const DirIterator &it2)
 
DirIterator begin (DirIterator it) noexcept
 
DirIterator end (const DirIterator &) noexcept
 

详细描述

在文件 dir.h39 行定义.

成员类型定义说明

◆ difference_type

using DirIterator::difference_type = std::ptrdiff_t

在文件 dir.h43 行定义.

◆ iterator_category

using DirIterator::iterator_category = std::input_iterator_tag

在文件 dir.h46 行定义.

◆ pointer

在文件 dir.h44 行定义.

◆ reference

在文件 dir.h45 行定义.

◆ value_type

在文件 dir.h42 行定义.

构造及析构函数说明

◆ DirIterator() [1/3]

DirIterator::DirIterator ( const DirIterator it)

在文件 dir.cpp76 行定义.

76  : p(std::make_unique<Private>())
77 {
78  p->it = it.p->it;
79 }

引用了 p.

◆ ~DirIterator()

DirIterator::~DirIterator ( )

在文件 dir.cpp81 行定义.

82 {
83 }

◆ DirIterator() [2/3]

DirIterator::DirIterator ( )
private

在文件 dir.cpp68 行定义.

68  : p(std::make_unique<Private>())
69 {
70 }

◆ DirIterator() [3/3]

DirIterator::DirIterator ( const std::string &  path)
private

在文件 dir.cpp72 行定义.

72  : p(std::make_unique<Private>(path))
73 {
74 }

成员函数说明

◆ operator*()

const DirIterator::value_type & DirIterator::operator* ( ) const

在文件 dir.cpp101 行定义.

102 {
103  p->current.p->entry = *p->it;
104  return p->current;
105 }

引用了 p.

◆ operator++()

DirIterator DirIterator::operator++ ( )

在文件 dir.cpp94 行定义.

95 {
96  DirIterator result;
97  result.p->it = ++p->it;
98  return result;
99 }

引用了 p.

◆ operator->()

const DirIterator::value_type * DirIterator::operator-> ( ) const

在文件 dir.cpp107 行定义.

108 {
109  p->current.p->entry = *p->it;
110  return &p->current;
111 }

引用了 p.

◆ operator=()

DirIterator & DirIterator::operator= ( const DirIterator it)

在文件 dir.cpp85 行定义.

86 {
87  if (&it!=this)
88  {
89  p->it = it.p->it;
90  }
91  return *this;
92 }

引用了 p.

友元及相关函数文档

◆ begin

DirIterator begin ( DirIterator  it)
friend

在文件 dir.cpp123 行定义.

124 {
125  return it;
126 }

◆ Dir

friend class Dir
friend

在文件 dir.h60 行定义.

◆ end

DirIterator end ( const DirIterator )
friend

在文件 dir.cpp128 行定义.

129 {
130  return DirIterator();
131 }

◆ operator!=

bool operator!= ( const DirIterator it1,
const DirIterator it2 
)
friend

在文件 dir.cpp118 行定义.

119 {
120  return it1.p->it!=it2.p->it;
121 }

◆ operator==

bool operator== ( const DirIterator it1,
const DirIterator it2 
)
friend

在文件 dir.cpp113 行定义.

114 {
115  return it1.p->it == it2.p->it;
116 }

类成员变量说明

◆ p

std::unique_ptr<Private> DirIterator::p
private

在文件 dir.h63 行定义.

被这些函数引用 DirIterator(), operator!=(), operator*(), operator++(), operator->(), operator=() , 以及 operator==().


该类的文档由以下文件生成:
DirIterator::p
std::unique_ptr< Private > p
Definition: dir.h:63
DirIterator
Definition: dir.h:39
DirIterator::DirIterator
DirIterator()
Definition: dir.cpp:68