Makes a path absolute according to the current working directory. More...
Public Types | |
typedef filesystem::path::value_type | value_type |
typedef filesystem::path::string_type | string_type |
typedef filesystem::path::iterator | iterator |
typedef filesystem::path::const_iterator | const_iterator |
Public Member Functions | |
make_absolute (const path &p) | |
make_absolute (path &&p) | |
template<class T , typename = typename std::enable_if<std::is_constructible<filesystem::path, T>::value>::type> | |
make_absolute (T &&p) | |
template<class Source > | |
path & | assign (Source const &source) |
Converts source to AFIO path format. | |
template<class InputIterator > | |
path & | assign (InputIterator begin, InputIterator end) |
path & | operator/= (const path &p) |
template<class Source > | |
path & | operator/= (Source const &source) |
template<class Source > | |
path & | append (Source const &source) |
template<class InputIterator > | |
path & | append (InputIterator begin, InputIterator end) |
path & | operator+= (const path &x) |
path & | operator+= (const string_type &x) |
path & | operator+= (const value_type *x) |
path & | operator+= (value_type x) |
template<class Source > | |
path & | operator+= (Source const &x) |
template<class Source > | |
path & | concat (Source const &x) |
template<class InputIterator > | |
path & | concat (InputIterator begin, InputIterator end) |
path & | make_preferred () |
path & | remove_filename () |
path & | replace_extension (const path &new_extension=path()) |
path | root_name () const |
path | root_directory () const |
path | root_path () const |
path | relative_path () const |
path | parent_path () const |
path | filename () const |
path | stem () const |
path | extension () const |
iterator | begin () const |
iterator | end () const |
filesystem::path | filesystem_path () const |
Return a normalised filesystem::path from an AFIO path. | |
Friends | |
struct | detail::async_io_handle_windows |
struct | path_hash |
bool | operator< (const path &lhs, const path &rhs) |
bool | operator<= (const path &lhs, const path &rhs) |
bool | operator> (const path &lhs, const path &rhs) |
bool | operator>= (const path &lhs, const path &rhs) |
bool | operator== (const path &lhs, const path &rhs) |
bool | operator!= (const path &lhs, const path &rhs) |
path | operator/ (const path &lhs, const path &rhs) |
std::ostream & | operator<< (std::ostream &s, const path &p) |
filesystem::path | normalise_path (path p, path_normalise type) |
Return a normalised filesystem::path from an AFIO path. |
Makes a path absolute according to the current working directory.
path& boost::afio::path::assign | ( | Source const & | source | ) | [inherited] |
filesystem::path boost::afio::path::filesystem_path | ( | ) | const [inherited] |
Return a normalised filesystem::path from an AFIO path.
On POSIX this passes through its input unchanged.
On Windows AFIO exclusively uses NT kernel paths which are not necessarily trivially convertible to Win32 paths. As an example, the Win32 path `C:` might be `\??:` or even ``. This function will convert any NT kernel path into something which can be fed to normal Win32 APIs quickly, though note that the output path will be rejected by most other APIs as invalid. If you need a Win32 path which is completely valid, use normalise_path().
filesystem::path normalise_path | ( | path | p, |
path_normalise | type = path_normalise::dos |
||
) | [friend, inherited] |
Return a normalised filesystem::path from an AFIO path.
On POSIX this passes through its input unchanged.
On Windows AFIO exclusively uses NT kernel paths which are not necessarily trivially convertible to Win32 paths. As an example, the Win32 path `C:\Foo` might be `\??\C:\Foo` or even `\Device\HarddiskVolume1\Foo`. This function will convert any NT kernel path into something which can be fed to normal Win32 APIs - a drive letter if available, else a GUID volume path, and with an extended path prefix if the path is sufficiently long. It also scans the path for characters illegal under Win32 or paths which begin with a space or end with a period, and will extended path prefix such paths as well.
p | Path to be normalised |
type | A path_normalise enum |
January, 2014 |
Copyright © 2013-2014 Niall Douglas, Cork, Ireland Copyright © 2013 Paul Kirth, California |