Boost.AFIO    Boost C++ Libraries
Public Types | Public Member Functions | Friends
boost::afio::path::make_absolute Struct Reference

Makes a path absolute according to the current working directory. More...

Inheritance diagram for boost::afio::path::make_absolute:
boost::afio::path

List of all members.

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 >
pathassign (Source const &source)
 Converts source to AFIO path format.
template<class InputIterator >
pathassign (InputIterator begin, InputIterator end)
pathoperator/= (const path &p)
template<class Source >
pathoperator/= (Source const &source)
template<class Source >
pathappend (Source const &source)
template<class InputIterator >
pathappend (InputIterator begin, InputIterator end)
pathoperator+= (const path &x)
pathoperator+= (const string_type &x)
pathoperator+= (const value_type *x)
pathoperator+= (value_type x)
template<class Source >
pathoperator+= (Source const &x)
template<class Source >
pathconcat (Source const &x)
template<class InputIterator >
pathconcat (InputIterator begin, InputIterator end)
pathmake_preferred ()
pathremove_filename ()
pathreplace_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.

Detailed Description

Makes a path absolute according to the current working directory.

Definition at line 612 of file afio.hpp.


Member Function Documentation

template<class Source >
path& boost::afio::path::assign ( Source const &  source) [inherited]

Converts source to AFIO path format.

Definition at line 490 of file afio.hpp.

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().

Definition at line 568 of file afio.hpp.


Friends And Related Function Documentation

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.

Parameters:
pPath to be normalised
typeA path_normalise enum

Definition at line 657 of file afio.hpp.


January, 2014

Copyright © 2013-2014 Niall Douglas, Cork, Ireland
Copyright © 2013 Paul Kirth, California
Documentation is generated by Doxygen