Description

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
 

Friends

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