Simple class for manipulating paths on Linux/Windows/Mac OS.

This class is just a temporary workaround to avoid the heavy boost dependency until boost::filesystem is integrated into the standard template library at some point in the future.

#include <path.h>

Public Types

enum  path_type { windows_path = 0, posix_path = 1, native_path = posix_path }

Public Member Functions

 path (const path &path)
 path (path &&path)
 path (const char *string)
 path (const std::string &string)
size_t length () const
bool empty () const
bool is_absolute () const
path make_absolute () const
bool exists () const
size_t file_size () const
bool is_directory () const
bool is_file () const
std::string extension () const
std::string filename () const
std::string stem () const
path parent_path () const
path operator/ (const path &other) const
std::string str (path_type type=native_path) const
void set (const std::string &str, path_type type=native_path)
pathoperator= (const path &path)
pathoperator= (path &&path)
bool remove_file ()
bool resize_file (size_t target_length)
bool operator== (const path &p) const
bool operator!= (const path &p) const

Static Public Member Functions

static path getcwd ()

Static Protected Member Functions

static std::vector< std::string > tokenize (const std::string &string, const std::string &delim)

Protected Attributes

path_type m_type
std::vector< std::string > m_path
bool m_absolute


std::ostream & operator<< (std::ostream &os, const path &path)

The documentation for this class was generated from the following file:
  • /builds/uwsbel/chrono/src/chrono_thirdparty/filesystem/path.h