---
name: "zipios_FilePath"
section: "3"
platform: "linux"
package: "libzipios++-dev"
version: "0.1.5.9+cvs.2007.04.28-6"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/zipios_FilePath"
---

# zipios\_FilePath(3)

FilePath represents a path to a file or directory name.

## NAME

zipios::FilePath - **FilePath** represents a path to a file or directory name.

## SYNOPSIS

`#include <filepath.h>`

### Public Member Functions

**FilePath** (const string &path='', bool check\_exists=false)\
 *Constructor.*  **FilePath** & **operator=** (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

### 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.

### 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.

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

Prunes the trailing separator of a specified path.

Definition at line 100 of file filepath.h.

## Author

Generated automatically by Doxygen for Zipios++ from the source code.
