PIP 5.5.3
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