PIP 5.6.1
Platform-Independent Primitives
Классы | Открытые члены | Открытые статические члены | Полный список членов класса
Класс PIDir

Локальная директория. Подробнее...

#include <pidir.h>

Классы

class  CurrentDirOverrider
 Временная смена рабочей директории. Подробнее...
 

Открытые члены

 PIDir (const PIString &dir=PIString())
 Создает директорию с путём "dir".
 
 PIDir (const PIFile &file)
 Создает директорию с путём директории файла "file".
 
bool isExists () const
 Возвращает, существует ли эта директория.
 
bool isAbsolute () const
 Возвращает, абсолютный ли путь у директории.
 
bool isRelative () const
 Возвращает, относительный ли путь у директории.
 
const PIStringscanDir () const
 Возвращает путь текущей директории чтения. Этот путь действителен только во время выполнения метода allEntries().
 
PIString name () const
 Возвращает имя директории.
 
PIString path () const
 Возвращает путь директории.
 
PIString absolutePath () const
 Возвращает абсолютный путь директории.
 
PIDircleanPath ()
 Упрощает путь директории. Подробнее...
 
PIDir cleanedPath () const
 Возвращает PIDir с упрощённым путём директории.
 
PIString relative (const PIString &path) const
 Возвращает путь "path" относительно этой директории.
 
PIString absolute (const PIString &path) const
 Возвращает путь "path" относительно этой директории в виде абсолютного пути.
 
PIDirsetDir (const PIString &path)
 Устанавливает путь директории упрощённым "path".
 
bool setCurrent ()
 Устанавливает путь директории текущим путём приложения.
 
PIVector< PIFile::FileInfoentries (const PIRegularExpression &regexp={})
 Возвращает содержимое этой директории. Подробнее...
 
PIVector< PIFile::FileInfoallEntries (const PIRegularExpression &regexp={})
 Возвращает содержимое этой директории рекурсивно. Подробнее...
 
bool make (bool withParents=true)
 Создаёт эту директорию, рекурсивно если "withParents".
 
bool remove ()
 Удаляет эту директорию.
 
bool rename (const PIString &new_name)
 Переименовывает эту директорию.
 
PIDircd (const PIString &path)
 Изменяет директорию на относительный путь "path".
 
PIDirup ()
 Изменяет директорию на родительскую.
 
bool operator== (const PIDir &d) const
 Оператор сравнения.
 
bool operator!= (const PIDir &d) const
 Оператор сравнения.
 

Открытые статические члены

static PIDir current ()
 Возвращает текущую директорию приложения.
 
static PIDir home ()
 Возвращает домашнюю директорию пользователя.
 
static PIDir temporary ()
 Возвращает временную директорию.
 
static PIVector< PIFile::FileInfoallEntries (const PIString &path, const PIRegularExpression &regexp={})
 Возвращает содержимое директории "path" рекурсивно.
 
static bool isExists (const PIString &path)
 Возвращает, существует ли эта директория.
 
static bool make (const PIString &path, bool withParents=true)
 Создаёт директорию "path", рекурсивно если "withParents".
 
static bool remove (const PIString &path)
 Удаляет директорию "path".
 
static bool rename (const PIString &path, const PIString &new_name)
 Переименовывает директорию "path".
 
static bool setCurrent (const PIString &path)
 Устанавливает путь "path" текущим путём приложения.
 
static bool setCurrent (const PIDir &dir)
 Устанавливает путь директории "dir" текущим путём приложения.
 

Подробное описание

Локальная директория.

Краткий обзор

Методы

◆ cleanPath()

PIDir & PIDir::cleanPath ( )

Упрощает путь директории.

Этот метод удаляет повторяющиеся разделители и разрешает "..". Например, путь "/home/.//user/src/../.." станет "/home".
Возвращает ссылку на этот PIDir

◆ entries()

PIVector< PIFile::FileInfo > PIDir::entries ( const PIRegularExpression regexp = {})

Возвращает содержимое этой директории.

Читает директорию и возвращает все директории и файлы одним списком, сортированным по алфавиту. Список содержит также "." и "..". Возвращаются абсолютные пути.

Внимание
Этот метод не читает содержимое директорий рекурсивно!

◆ allEntries()

PIVector< PIFile::FileInfo > PIDir::allEntries ( const PIRegularExpression regexp = {})

Возвращает содержимое этой директории рекурсивно.

Читает директорию рекурсивно и возвращает все директории и файлы одним списком, сортированным по алфавиту. Список не содержит "." и "..". Возвращаются абсолютные пути, причём файлы располагаются после директорий.

TODO: resolve symlinks