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.
 
FilePathoperator= (const string &rhs)
 
 operator string () const
 
FilePath operator+ (const FilePath &name) const
 Concatenates FilePath objects.
 
FilePath filename () const
 Returns filename of the FilePath object by pruning the path off.
 
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.
 
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.
 

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 string()

zipios::FilePath::operator string ( ) const
inline

Definition at line 106 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.

◆ operator=()

FilePath & zipios::FilePath::operator= ( const string &  rhs)
inline

Definition at line 94 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.

Member Data Documentation

◆ _checked

bool zipios::FilePath::_checked
mutableprotected

Definition at line 78 of file filepath.h.

◆ _exists

bool zipios::FilePath::_exists
mutableprotected

Definition at line 79 of file filepath.h.

◆ _is_block

bool zipios::FilePath::_is_block
mutableprotected

Definition at line 83 of file filepath.h.

◆ _is_char

bool zipios::FilePath::_is_char
mutableprotected

Definition at line 82 of file filepath.h.

◆ _is_dir

bool zipios::FilePath::_is_dir
mutableprotected

Definition at line 81 of file filepath.h.

◆ _is_fifo

bool zipios::FilePath::_is_fifo
mutableprotected

Definition at line 85 of file filepath.h.

◆ _is_reg

bool zipios::FilePath::_is_reg
mutableprotected

Definition at line 80 of file filepath.h.

◆ _is_socket

bool zipios::FilePath::_is_socket
mutableprotected

Definition at line 84 of file filepath.h.

◆ _path

string zipios::FilePath::_path
protected

Definition at line 86 of file filepath.h.

◆ _separator

const char zipios::FilePath::_separator = '/'
staticprotected

Definition at line 75 of file filepath.h.


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