Zipios++
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
zipios::FilePath Class Reference

FilePath represents a path to a file or directory name. More...

#include <filepath.h>

Public Member Functions

 FilePath (const string &path="", bool check_exists=false)
 Constructor. More...
 
FilePathoperator= (const string &rhs)
 
 operator string () const
 
FilePath operator+ (const FilePath &name) const
 Concatenates FilePath objects. More...
 
FilePath filename () const
 Returns filename of the FilePath object by pruning the path off. More...
 
bool exists () const
 
bool isRegular () const
 
bool isDirectory () const
 
bool isCharSpecial () const
 
bool isBlockSpecial () const
 
bool isSocket () const
 
bool isFifo () const
 

Protected Member Functions

void pruneTrailingSeparator ()
 Prunes the trailing separator of a specified path. More...
 
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. More...
 

Protected Attributes

bool _checked
 
bool _exists
 
bool _is_reg
 
bool _is_dir
 
bool _is_char
 
bool _is_block
 
bool _is_socket
 
bool _is_fifo
 
string _path
 

Static Protected Attributes

static const char _separator = '/'
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ FilePath()

zipios::FilePath::FilePath ( const string &  path = "",
bool  check_exists = false 
)

Constructor.

Parameters
pathA string representation of the path.
check_existsIf 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.

Member Function Documentation

◆ check()

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.

◆ exists()

bool zipios::FilePath::exists ( ) const
inline
Returns
true If the path is a valid file system entity.

Definition at line 129 of file filepath.h.

◆ filename()

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.

◆ isBlockSpecial()

bool zipios::FilePath::isBlockSpecial ( ) const
inline
Returns
true if the path is block special (a block device file).

Definition at line 157 of file filepath.h.

◆ isCharSpecial()

bool zipios::FilePath::isCharSpecial ( ) const
inline
Returns
true if the path is character special (a character device file).

Definition at line 150 of file filepath.h.

◆ isDirectory()

bool zipios::FilePath::isDirectory ( ) const
inline
Returns
true if the path is a directory.

Definition at line 143 of file filepath.h.

◆ isFifo()

bool zipios::FilePath::isFifo ( ) const
inline
Returns
true if the path is a Fifo (a pipe).

Definition at line 171 of file filepath.h.

◆ isRegular()

bool zipios::FilePath::isRegular ( ) const
inline
Returns
true if the path is a regular file.

Definition at line 136 of file filepath.h.

◆ isSocket()

bool zipios::FilePath::isSocket ( ) const
inline
Returns
true if the path is a socket.

Definition at line 164 of file filepath.h.

◆ operator+()

FilePath zipios::FilePath::operator+ ( const FilePath name) const
inline

Concatenates FilePath objects.

A file separator is inserted if appropriate.

Definition at line 111 of file filepath.h.

◆ pruneTrailingSeparator()

void zipios::FilePath::pruneTrailingSeparator ( )
inlineprotected

Prunes the trailing separator of a specified path.

Definition at line 100 of file filepath.h.


The documentation for this class was generated from the following files: