Ocean
|
This class implements a scoped directory object which will delete the underlying directory (and sub-directories including all files) from the filesystem when the scope ends. More...
Public Member Functions | |
ScopedDirectory ()=default | |
Default constructor creating an invalid object not holding any directory. More... | |
ScopedDirectory (ScopedDirectory &&scopedDirectory) | |
Move constructor. More... | |
ScopedDirectory (const Directory &directory) | |
Create a new scoped directory. More... | |
ScopedDirectory (const std::string &directory) | |
Create a new scoped directory. More... | |
~ScopedDirectory () | |
Destructs this object and deletes the actual directory. More... | |
ScopedDirectory & | operator= (ScopedDirectory &&scopedDirectory) |
Move operator. More... | |
Public Member Functions inherited from Ocean::IO::Directory | |
Directory () | |
Creates an empty directory. More... | |
Directory (const std::string &path) | |
Creates a new directory. More... | |
Directory (const File &file) | |
Creates a new directory by a given file. More... | |
Directory (const Path &path) | |
Creates a new directory by a given path. More... | |
virtual bool | isValid () const |
Returns whether the directory is valid. More... | |
virtual bool | exists () const |
Returns whether the directory exists already. More... | |
bool | remove (const bool recursively=false) const |
Removes this directory from the filesystem. More... | |
bool | create () const |
Create all necessary sub-directories for the given path, if they do not exist. More... | |
std::string | base () const |
Returns the base of this directory. More... | |
std::string | name () const |
Returns the name of a directory. More... | |
Files | findFiles (const std::string &fileType=std::string("*"), const bool recursive=false) const |
Returns all files in the directory with the given file format. More... | |
Directories | findDirectories (const bool recursive=false) const |
Returns all directories of this directory. More... | |
File | operator+ (const File &file) const |
Returns a file composed of this directory and a relative file. More... | |
Directory | operator+ (const Directory &path) const |
Returns a directory composed of this and a relative directory. More... | |
Directory & | operator+= (const Directory &path) |
Adds an relative path to this directory. More... | |
Directory & | operator-- () |
Removes the last sub-directory from this directory. More... | |
Directory | operator-- (int) |
Removes the last sub-directory from this directory. More... | |
Public Member Functions inherited from Ocean::IO::Path | |
virtual | ~Path ()=default |
Destructs a path. More... | |
Type | type () const |
Returns the type of this path. More... | |
bool | isAbsolute () const |
Returns whether this path is absolute. More... | |
bool | isRelative () const |
Returns whether this path is relative. More... | |
bool | isNull () const |
Returns whether this path holds no valid. More... | |
bool | operator== (const Path &right) const |
Returns whether two paths are equal. More... | |
bool | operator!= (const Path &path) const |
Returns whether two paths are not equal. More... | |
const std::string & | operator() () const |
Returns the value of this path. More... | |
bool | operator< (const Path &path) const |
Less operator comparing the actual strings of two paths. More... | |
Protected Member Functions | |
ScopedDirectory (const ScopedDirectory &scopedDirectory)=delete | |
Disabled copy constructor. More... | |
ScopedDirectory & | operator= (const ScopedDirectory &scopedDirectory)=delete |
Disabled copy constructor. More... | |
Protected Member Functions inherited from Ocean::IO::Path | |
Path ()=default | |
Creates a new undefined path. More... | |
Path (const Path &path)=default | |
Copy constructor. More... | |
Path (const std::string &value) | |
Creates a new path. More... | |
void | checkPath (const Type expectType) |
Checks the type of this path and trims it. More... | |
void | trim () |
Trims this path. More... | |
Path & | operator= (const Path &path)=default |
Default assign operator. More... | |
Additional Inherited Members | |
Public Types inherited from Ocean::IO::Path | |
enum | Type { TYPE_INVALID = 0 , TYPE_FILE = 1 , TYPE_DIRECTORY = 2 , TYPE_ABSOLUTE = 4 , TYPE_RELATIVE = 8 , TYPE_NETWORK = 16 } |
Definition of different path types. More... | |
enum | Separator { SEPARATOR_UNDEFINED = 0 , SEPARATOR_SLASH = '/' , SEPARATOR_BACKSLASH = '\\' } |
Definition of path separators. More... | |
Static Public Member Functions inherited from Ocean::IO::Directory | |
static Directory | createTemporaryDirectory () |
Creates a new temporary directory. More... | |
Static Public Member Functions inherited from Ocean::IO::Path | |
static bool | isSeparator (const char character) |
Returns whether a given character is a separator. More... | |
static char | defaultSeparator () |
Returns the default separator of a path. More... | |
Static Protected Member Functions inherited from Ocean::IO::Directory | |
static Directory | createTemporaryDirectoryApple () |
Creates a new temporary directory (specialization for Apple platforms). More... | |
static bool | existsApple (const std::string &directory) |
Returns whether a directory exists (specialization for Apple platforms). More... | |
Protected Attributes inherited from Ocean::IO::Path | |
Type | pathType_ = TYPE_INVALID |
Path type. More... | |
std::string | pathValue_ |
Path value. More... | |
This class implements a scoped directory object which will delete the underlying directory (and sub-directories including all files) from the filesystem when the scope ends.
|
default |
Default constructor creating an invalid object not holding any directory.
|
inline |
Move constructor.
scopedDirectory | The scoped directory to be moved |
|
inlineexplicit |
Create a new scoped directory.
directory | The directory for which the new scoped object will be created |
|
inlineexplicit |
Create a new scoped directory.
directory | The name of the directory for which a new scoped object will be created |
Ocean::IO::ScopedDirectory::~ScopedDirectory | ( | ) |
Destructs this object and deletes the actual directory.
|
protecteddelete |
Disabled copy constructor.
scopedDirectory | Directory which would be copied |
|
protecteddelete |
Disabled copy constructor.
scopedDirectory | Directory which would be copied |
ScopedDirectory& Ocean::IO::ScopedDirectory::operator= | ( | ScopedDirectory && | scopedDirectory | ) |
Move operator.
scopedDirectory | The scoped directory to be moved |