glibmm 2.56.0

Public Types | Public Member Functions | List of all members
Glib::Dir Class Reference
File Utilities

Utility class representing an open directory. More...

`#include <glibmm/fileutils.h>`

## Public Types
using | iterator = DirIterator
using | const_iterator = DirIterator

## Public Member Functions
| Dir (const std::string& path)
| Opens a directory for reading. More...
| Dir (const Dir&)=delete
Dir& | operator= (const Dir&)=delete
| ~Dir ()
| Closes the directory and deallocates all related resources. More...
std::string | read_name ()
| Retrieves the name of the next entry in the directory. More...
void | rewind ()
| Resets the directory. More...
void | close ()
| Closes the directory and deallocates all related resources. More...
DirIterator | begin ()
| Get the begin of an input iterator sequence. More...
DirIterator | end ()
| Get the end of an input iterator sequence. More...

## Detailed Description

Utility class representing an open directory.

It's highly recommended to use the iterator interface. With iterators, reading an entire directory into a STL container is really easy:

Glib::Dir dir (directory_path);
std::list<std::string> entries (dir.begin(), dir.end());

Note
  The encoding of the directory entries isn't necessarily UTF-8. Use Glib::filename_to_utf8() if you need to display them.

## Member Typedef Documentation

## ◆ const_iterator

using Glib::Dir::const_iterator = DirIterator

## ◆ iterator

using Glib::Dir::iterator = DirIterator

## Constructor & Destructor Documentation

## ◆ Dir() [1/2]

Glib::Dir::Dir | ( | const std::string & | path | ) |
| explicit

Opens a directory for reading.

The names of the files in the directory can then be retrieved using read_name().

Parameters

  path | The path to the directory you are interested in.

Exceptions

  Glib::FileError |

## ◆ Dir() [2/2]

Glib::Dir::Dir | ( | const Dir& |  | ) |
| delete

## ◆ ~Dir()

Glib::Dir::~Dir | ( |  | ) |

Closes the directory and deallocates all related resources.

## Member Function Documentation

## ◆ begin()

DirIterator Glib::Dir::begin | ( |  | ) |

Get the begin of an input iterator sequence.

Returns
  An input iterator pointing to the first directory entry.

## ◆ close()

void Glib::Dir::close | ( |  | ) |

Closes the directory and deallocates all related resources.

Note that close() is implicitely called by ~Dir(). Thus you don't need to call close() yourself unless you want to close the directory before the destructor runs.

## ◆ end()

DirIterator Glib::Dir::end | ( |  | ) |

Get the end of an input iterator sequence.

Returns
  An input iterator pointing behind the last directory entry.

## ◆ operator=()

Dir& Glib::Dir::operator= | ( | const Dir& |  | ) |
| delete

## ◆ read_name()

std::string Glib::Dir::read_name | ( |  | ) |

Retrieves the name of the next entry in the directory.

The `'.'` and `'..'` entries are omitted.

Returns
  The entry's name or `""` if there are no more entries.

See also
  begin(), end()

## ◆ rewind()

void Glib::Dir::rewind | ( |  | ) |

Resets the directory.

The next call to read_name() will return the first entry again.