summaryrefslogtreecommitdiff
path: root/boost/filesystem/path.hpp
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2019-12-05 15:24:45 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2019-12-05 15:24:45 +0900
commit5ce1cfc2525b06c0a9e38531813781de0281c96d (patch)
tree19cc66c6cf6396db288813b2558cc350f1deede2 /boost/filesystem/path.hpp
parent3c1df2168531ad5580076ae08d529054689aeedd (diff)
downloadboost-5ce1cfc2525b06c0a9e38531813781de0281c96d.tar.gz
boost-5ce1cfc2525b06c0a9e38531813781de0281c96d.tar.bz2
boost-5ce1cfc2525b06c0a9e38531813781de0281c96d.zip
Imported Upstream version 1.71.0upstream/1.71.0
Diffstat (limited to 'boost/filesystem/path.hpp')
-rw-r--r--boost/filesystem/path.hpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/boost/filesystem/path.hpp b/boost/filesystem/path.hpp
index d0cf9a11ca..ad036f19a2 100644
--- a/boost/filesystem/path.hpp
+++ b/boost/filesystem/path.hpp
@@ -536,7 +536,8 @@ namespace path_detail // intentionally don't use filesystem::detail to not bring
bool is_relative() const { return !is_absolute(); }
bool is_absolute() const
{
-# ifdef BOOST_WINDOWS_API
+ // Windows CE has no root name (aka drive letters)
+# if defined(BOOST_WINDOWS_API) && !defined(UNDER_CE)
return has_root_name() && has_root_directory();
# else
return has_root_directory();
@@ -783,7 +784,7 @@ namespace path_detail // intentionally don't use filesystem::detail to not bring
inline bool operator> (const path& lhs, const path& rhs) {return rhs < lhs;}
inline bool operator>=(const path& lhs, const path& rhs) {return !(lhs < rhs);}
- inline std::size_t hash_value(const path& x)
+ inline std::size_t hash_value(const path& x) BOOST_NOEXCEPT
{
# ifdef BOOST_WINDOWS_API
std::size_t seed = 0;
@@ -797,9 +798,18 @@ namespace path_detail // intentionally don't use filesystem::detail to not bring
inline void swap(path& lhs, path& rhs) BOOST_NOEXCEPT { lhs.swap(rhs); }
- inline path operator/(const path& lhs, const path& rhs) { return path(lhs) /= rhs; }
+ inline path operator/(const path& lhs, const path& rhs)
+ {
+ path p = lhs;
+ p /= rhs;
+ return p;
+ }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- inline path&& operator/(path&& lhs, const path& rhs) { lhs /= rhs; return std::move(lhs); }
+ inline path operator/(path&& lhs, const path& rhs)
+ {
+ lhs /= rhs;
+ return std::move(lhs);
+ }
# endif
// inserters and extractors