vsg  1.1.0
VulkanSceneGraph library
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
vsg::Path Class Reference

#include <Path.h>

Public Types

using value_type = char
 
using string_type = std::basic_string< value_type >
 
using size_type = size_t
 
using reference = value_type &
 
using const_reference = const value_type &
 
using iterator = string_type::iterator
 
using const_iterator = string_type::const_iterator
 
using pointer = value_type *
 
using const_pointer = const value_type *
 

Public Member Functions

 Path (const Path &path)
 
 Path (const std::string &str)
 
 Path (const char *str)
 
 Path (const std::wstring &str)
 
 Path (const wchar_t *str)
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
Pathassign (const Path &path)
 
Pathassign (const std::string &str)
 
Pathassign (const char *str)
 
Pathassign (const std::wstring &str)
 
Pathassign (const wchar_t *str)
 
Pathoperator= (const Path &path)
 
Pathoperator= (const std::string &str)
 
Pathoperator= (const char *str)
 
Pathoperator= (const std::wstring &str)
 
Pathoperator= (const wchar_t *str)
 
int compare (const Path &rhs) const
 
int compare (size_type pos, size_type n, const Path &rhs) const
 
int compare (const char *rhs) const
 
int compare (const wchar_t *rhs) const
 
int compare (size_type pos, size_type n, const char *rhs) const
 
int compare (size_type pos, size_type n, const wchar_t *rhs) const
 
bool operator== (const Path &rhs) const
 
bool operator!= (const Path &rhs) const
 
bool operator< (const Path &rhs) const
 
bool operator== (const char *rhs) const
 
bool operator!= (const char *rhs) const
 
bool operator== (const wchar_t *rhs) const
 
bool operator!= (const wchar_t *rhs) const
 
 operator bool () const noexcept
 
bool empty () const
 
size_type size () const
 
size_type length () const
 
std::string string () const
 
std::wstring wstring () const
 
const string_type & native () const noexcept
 
 operator const string_type & () const noexcept
 
const value_type * c_str () const noexcept
 
reference operator[] (size_type pos)
 
const_reference operator[] (size_type pos) const
 
void clear () noexcept
 
void swap (Path &rhs) noexcept
 
Pathconcat (const Path &path)
 directly add to end of path without a path separator
 
Pathconcat (char c)
 directly add to end of path without a path separator
 
Pathoperator+= (const Path &path)
 directly add to end of path without a path separator
 
Pathappend (const Path &path)
 add to end of path with path separator
 
Pathoperator/= (const Path &path)
 add to end of path with path separator
 
Path substr (size_type pos, size_type len=Path::npos) const
 
size_type find (const Path &s, size_type pos=0) const
 
size_type find (const char *s, size_type pos=0) const
 
size_type find (const wchar_t *s, size_type pos=0) const
 
size_type find_first_of (const Path &s, size_type pos=0) const
 
size_type find_first_of (const char *s, size_type pos=0) const
 
size_type find_first_of (const char c, size_type pos=0) const
 
size_type find_first_of (const wchar_t *s, size_type pos=0) const
 
size_type find_first_of (const wchar_t c, size_type pos=0) const
 
size_type find_last_of (const Path &s, size_type pos=npos) const
 
size_type find_last_of (const char *s, size_type pos=npos) const
 
size_type find_last_of (const char c, size_type pos=npos) const
 
size_type find_last_of (const wchar_t *s, size_type pos=npos) const
 
size_type find_last_of (const wchar_t c, size_type pos=npos) const
 
Pathreplace (size_type pos, size_type n, const Path &str)
 
Pathreplace (size_type pos, size_type n, const std::string &str)
 
Pathreplace (size_type pos, size_type n, const std::wstring &str)
 
Pathreplace (size_type pos, size_type n, const char *str)
 
Pathreplace (size_type pos, size_type n, const wchar_t *str)
 
Patherase (size_t pos=0, size_t len=Path::npos)
 
FileType type () const
 
Path lexically_normal () const
 

Static Public Attributes

static constexpr value_type windows_separator = '\\'
 
static constexpr value_type posix_separator = '/'
 
static constexpr value_type preferred_separator = posix_separator
 
static constexpr value_type alternate_separator = windows_separator
 
static constexpr const value_type * separators = "/\\"
 
static const size_type npos = static_cast<size_type>(-1)
 

Protected Attributes

string_type _string
 

Detailed Description

Class for managing paths/filenames with full support for wide and single width path strings. Similar in role and features to std::filesystem::path, but is able to work on older compilers.


The documentation for this class was generated from the following file: