FilePath represents a path to a file or directory name. More...
#include <filepath.h>
Public Member Functions | |
bool | exists () const |
FilePath | filename () const |
Returns filename of the FilePath object by pruning the path off. | |
FilePath (const string &path="", bool check_exists=false) | |
Constructor. | |
bool | isBlockSpecial () const |
bool | isCharSpecial () const |
bool | isDirectory () const |
bool | isFifo () const |
bool | isRegular () const |
bool | isSocket () const |
operator string () const | |
FilePath | operator+ (const FilePath &name) const |
Concatenates FilePath objects. | |
FilePath & | operator= (const string &rhs) |
Protected Member Functions | |
void | check () const |
This function sets _checked to true, stats the path, to see if it exists and to determine what type of file it is. | |
void | pruneTrailingSeparator () |
Prunes the trailing separator of a specified path. | |
Protected Attributes | |
bool | _checked |
bool | _exists |
bool | _is_block |
bool | _is_char |
bool | _is_dir |
bool | _is_fifo |
bool | _is_reg |
bool | _is_socket |
string | _path |
Static Protected Attributes | |
static const char | _separator = '/' |
FilePath represents a path to a file or directory name.
FilePath has member functions to check if the file path is a valid file system entity, and to check what kind of file system entity it is, e.g. is it a file, a directory, a pipe etc.
Definition at line 18 of file filepath.h.
zipios::FilePath::FilePath | ( | const string & | path = "" , |
|
bool | check_exists = false | |||
) |
Constructor.
path | A string representation of the path. | |
check_exists | If true is specified the constructor will check the existence and type of the path immidiately, instead of deferring that task until it is needed. |
Definition at line 18 of file filepath.cpp.
References exists(), and pruneTrailingSeparator().
void zipios::FilePath::check | ( | ) | const [protected] |
This function sets _checked to true, stats the path, to see if it exists and to determine what type of file it is.
All the query functions check if _checked is true, and if it isn't they call check(). This means stat'ing is deferred until it becomes necessary.
Definition at line 27 of file filepath.cpp.
References _checked, _exists, _is_block, _is_char, _is_dir, _is_fifo, _is_reg, _is_socket, _path, and S_ISSOCK.
Referenced by exists(), isBlockSpecial(), isCharSpecial(), isDirectory(), isFifo(), isRegular(), and isSocket().
bool zipios::FilePath::exists | ( | ) | const [inline] |
Definition at line 129 of file filepath.h.
References _checked, _exists, and check().
Referenced by FilePath().
FilePath zipios::FilePath::filename | ( | ) | const [inline] |
Returns filename of the FilePath object by pruning the path off.
Definition at line 119 of file filepath.h.
References _path, _separator, and RobotExample::pos.
bool zipios::FilePath::isBlockSpecial | ( | ) | const [inline] |
Definition at line 157 of file filepath.h.
bool zipios::FilePath::isCharSpecial | ( | ) | const [inline] |
Definition at line 150 of file filepath.h.
bool zipios::FilePath::isDirectory | ( | ) | const [inline] |
Definition at line 143 of file filepath.h.
References _checked, _is_dir, and check().
Referenced by zipios::DirectoryCollection::DirectoryCollection().
bool zipios::FilePath::isFifo | ( | ) | const [inline] |
Definition at line 171 of file filepath.h.
bool zipios::FilePath::isRegular | ( | ) | const [inline] |
Definition at line 136 of file filepath.h.
bool zipios::FilePath::isSocket | ( | ) | const [inline] |
Definition at line 164 of file filepath.h.
References _checked, _is_socket, and check().
zipios::FilePath::operator string | ( | ) | const [inline] |
Definition at line 106 of file filepath.h.
References _path.
Concatenates FilePath objects.
A file separator is inserted if appropriate.
Definition at line 111 of file filepath.h.
References _path, and _separator.
FilePath & zipios::FilePath::operator= | ( | const string & | rhs | ) | [inline] |
Definition at line 94 of file filepath.h.
References _path, and pruneTrailingSeparator().
void zipios::FilePath::pruneTrailingSeparator | ( | ) | [inline, protected] |
Prunes the trailing separator of a specified path.
Definition at line 100 of file filepath.h.
References _path, and _separator.
Referenced by FilePath(), and operator=().
bool zipios::FilePath::_checked [mutable, protected] |
Definition at line 78 of file filepath.h.
Referenced by check(), exists(), isBlockSpecial(), isCharSpecial(), isDirectory(), isFifo(), isRegular(), and isSocket().
bool zipios::FilePath::_exists [mutable, protected] |
Definition at line 79 of file filepath.h.
bool zipios::FilePath::_is_block [mutable, protected] |
Definition at line 83 of file filepath.h.
Referenced by check(), and isBlockSpecial().
bool zipios::FilePath::_is_char [mutable, protected] |
Definition at line 82 of file filepath.h.
Referenced by check(), and isCharSpecial().
bool zipios::FilePath::_is_dir [mutable, protected] |
Definition at line 81 of file filepath.h.
Referenced by check(), and isDirectory().
bool zipios::FilePath::_is_fifo [mutable, protected] |
Definition at line 85 of file filepath.h.
bool zipios::FilePath::_is_reg [mutable, protected] |
Definition at line 80 of file filepath.h.
Referenced by check(), and isRegular().
bool zipios::FilePath::_is_socket [mutable, protected] |
Definition at line 84 of file filepath.h.
Referenced by check(), and isSocket().
string zipios::FilePath::_path [protected] |
Definition at line 86 of file filepath.h.
Referenced by check(), filename(), operator string(), operator+(), operator=(), and pruneTrailingSeparator().
const char zipios::FilePath::_separator = '/' [static, protected] |
Definition at line 75 of file filepath.h.
Referenced by filename(), operator+(), and pruneTrailingSeparator().