本文整理汇总了C++中path::is_absolute方法的典型用法代码示例。如果您正苦于以下问题:C++ path::is_absolute方法的具体用法?C++ path::is_absolute怎么用?C++ path::is_absolute使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类path
的用法示例。
在下文中一共展示了path::is_absolute方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: absolute
// An absolute path is composed according to the table in [fs.op.absolute].
path absolute(const path& p, const path& base) {
auto root_name = p.root_name();
auto root_dir = p.root_directory();
if (!root_name.empty() && !root_dir.empty())
return p;
auto abs_base = base.is_absolute() ? base : absolute(base);
/* !has_root_name && !has_root_dir */
if (root_name.empty() && root_dir.empty())
{
return abs_base / p;
}
else if (!root_name.empty()) /* has_root_name && !has_root_dir */
{
return root_name / abs_base.root_directory()
/
abs_base.relative_path() / p.relative_path();
}
else /* !has_root_name && has_root_dir */
{
if (abs_base.has_root_name())
return abs_base.root_name() / p;
// else p is absolute, return outside of block
}
return p;
}
示例2: canonicalOrAbsolute
path canonicalOrAbsolute(const path& p, const path& base = boost::filesystem::current_path())
{
path result;
if (p.is_absolute()){
result = p;
} else {
result = boost::filesystem::absolute(p, base);
}
if (exists(result)){
result = boost::filesystem::canonical(result);
}
return result;
}
示例3: resolve
path path::operator/(const path & other) const {
if(other.is_absolute() || empty() || (is_dot() && !other.empty())) {
return other;
} else if(other.empty() || other.is_dot()) {
return *this;
} else if(other.is_up()) {
return resolve(*this, other);
} else {
path result = *this;
if(result.pathstr[result.pathstr.length() - 1] != dir_sep) {
result.pathstr += dir_sep;
}
result.pathstr += other.pathstr;
return result;
}
}
示例4: GetResourceAbspath
path GetResourceAbspath(const path &relpath)const
{
if (relpath.is_absolute())
{
return relpath;
}
for (const auto &dir : m_searchPaths)
{
const path abspath = absolute(relpath, dir);
if (exists(abspath))
{
return abspath;
}
}
throw std::runtime_error("Resource not found: " + relpath.generic_string());
}