Path Class Reference

#include <Pt/System/Path.h>

Represents a path in the file-system.

Public Member Functions

 Path ()
 Default constructor.
 Path (const Path &p)
 Copy constructor.
 Path (const Pt::String &s)
 Construct from a path name.
 Path (const char *s)
 Construct from an UTF-8 encoded path name.
 Path (const char *s, std::size_t n)
 Construct from an UTF-8 encoded path name.
 ~Path ()
 Destructor.
Pathassign (const Path &p)
 Assigns a path name.
Pathassign (const Pt::String &s)
 Assigns a path name.
Pathassign (const char *s)
 Assigns an UTF-8 encoded path name.
Pathassign (const char *s, std::size_t n)
 Assigns an UTF-8 encoded path name.
Pathoperator= (const Path &p)
 Assignment operator.
Pathoperator= (const Pt::String &s)
 Assigns a path name.
Pathoperator= (const char *s)
 Assigns an UTF-8 encoded path name.
Pathappend (const Path &p)
 Appends a path name.
Pathappend (const Pt::String &s)
 Appends a path name.
Pathappend (const char *s)
 Appends an UTF-8 encoded path name.
Pathappend (const char *s, std::size_t n)
 Appends an UTF-8 encoded path name.
Pathoperator/= (const Path &p)
 Appends a path name.
Pathoperator/= (const Pt::String &s)
 Appends a path name.
Pathoperator/= (const char *s)
 Appends an UTF-8 encoded path name.
Pathconcat (const Path &p)
 Concatenates a path name.
Pathconcat (const Pt::String &s)
 Concatenates a path name.
Pathconcat (const char *s)
 Concatenates a path name.
Pathconcat (const char *s, std::size_t n)
 Appends an UTF-8 encoded path name.
Pathoperator+= (const Path &p)
 Concatenates a path name.
Pathoperator+= (const Pt::String &s)
 Concatenates a path name.
Pathoperator+= (const char *s)
 Concatenates a path name.
void clear ()
 Clears the path.
bool empty () const
 Returns true if path is empty.
Pt::String fileName () const
 Returns the file name without the directroy part.
Pt::String dirName () const
 Returns the directory part.
Pt::String baseName () const
 Returns the file name without directory and extension.
Pt::String extension () const
 Returns the file name extension.
int compare (const Path &p) const
 Compares two paths (with strcmp semantics).
Pt::String toString () const
 Returns the path name.
std::string toLocal () const
 Returns the path name in local encoding.
Pt::String toGeneric () const
 Returns the path name with generic separators.

Static Public Member Functions

static Pt::String dirsep ()
 Returns the directory separator string.
static Pt::String curdir ()
 Returns the current directory string.
static Pt::String updir ()
 Returns the parent directory string.

(Note that these are not member symbols.)

Path operator/ (const Path &a, const Path &b)
 Appends a paths to another.
Path operator/ (const Path &a, const Pt::String &b)
 Appends a paths to another.
Path operator/ (const Path &a, const char *b)
 Appends a paths to another.
bool operator== (const Path &a, const Path &b)
 Compares two paths.
bool operator!= (const Path &a, const Path &b)
 Compares two paths.
bool operator< (const Path &a, const Path &b)
 Compares two paths.

Member Function Documentation

◆ append() [1/4]

Path & append ( const Path & p)

A directory separator is added if this path is not empty.

◆ append() [2/4]

Path & append ( const Pt::String & s)

A directory separator is added if this path is not empty.

◆ append() [3/4]

Path & append ( const char * s)

A directory separator is added if this path is not empty.

◆ append() [4/4]

Path & append ( const char * s,
std::size_t n )

A directory separator is added if this path is not empty.

◆ operator/=() [1/3]

Path & operator/= ( const Path & p)

A directory separator is added if this path is not empty.

◆ operator/=() [2/3]

Path & operator/= ( const Pt::String & s)

A directory separator is added if this path is not empty.

◆ operator/=() [3/3]

Path & operator/= ( const char * s)

A directory separator is added if this path is not empty.

◆ concat() [1/4]

Path & concat ( const Path & p)

The two paths are directly joined and no separator is added.

◆ concat() [2/4]

Path & concat ( const Pt::String & s)

The two paths are directly joined and no separator is added.

◆ concat() [3/4]

Path & concat ( const char * s)

The two paths are directly joined and no separator is added.

◆ concat() [4/4]

Path & concat ( const char * s,
std::size_t n )

The two paths are directly joined and no separator is added.

◆ operator+=() [1/2]

Path & operator+= ( const Pt::String & s)

The two paths are directly joined and no separator is added.

◆ operator+=() [2/2]

Path & operator+= ( const char * s)

The two paths are directly joined and no separator is added.

◆ toGeneric()

Pt::String toGeneric ( ) const

On Windows the returned string uses forward slashes as directory separators. On POSIX it is identical to toString().