Main Page   Class Hierarchy   Compound List   File List   Compound Members  

zipios::FilePath Class Reference

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

#include <filepath.h>

List of all members.

Public Methods

 FilePath ( const string &path = "", bool check_exists = false )
 Constructor. More...

FilePath& operator= ( 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 Methods

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

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

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

Constructor.

Parameters:
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.


Member Function Documentation

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.

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.

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.

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.

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.

bool zipios::FilePath::isDirectory ( ) const [inline]
 

Returns:
true if the path is a directory.

Definition at line 143 of file filepath.h.

bool zipios::FilePath::isFifo ( ) const [inline]
 

Returns:
true if the path is a Fifo (a pipe).

Definition at line 171 of file filepath.h.

bool zipios::FilePath::isRegular ( ) const [inline]
 

Returns:
true if the path is a regular file.

Definition at line 136 of file filepath.h.

bool zipios::FilePath::isSocket ( ) const [inline]
 

Returns:
true if the path is a socket.

Definition at line 164 of file filepath.h.

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

Definition at line 106 of file filepath.h.

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.

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

Definition at line 94 of file filepath.h.

void zipios::FilePath::pruneTrailingSeparator ( ) [inline, protected]
 

Prunes the trailing separator of a specified path.

Definition at line 100 of file filepath.h.


Member Data Documentation

bool zipios::FilePath::_checked [mutable, protected]
 

Definition at line 78 of file filepath.h.

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.

bool zipios::FilePath::_is_char [mutable, protected]
 

Definition at line 82 of file filepath.h.

bool zipios::FilePath::_is_dir [mutable, protected]
 

Definition at line 81 of file filepath.h.

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.

bool zipios::FilePath::_is_socket [mutable, protected]
 

Definition at line 84 of file filepath.h.

string zipios::FilePath::_path [protected]
 

Definition at line 86 of file filepath.h.

const char zipios::FilePath::_separator [static, protected]
 

Definition at line 15 of file filepath.cpp.


The documentation for this class was generated from the following files:
Generated at Tue Aug 14 20:39:57 2001 for Zipios++ by doxygen1.2.0 written by Dimitri van Heesch, © 1997-2000