当前位置: 首页>>代码示例>>C++>>正文


C++ path::is_absolute方法代码示例

本文整理汇总了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;
}
开发者ID:01org,项目名称:linux-sgx,代码行数:29,代码来源:operations.cpp

示例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;
  }
开发者ID:NREL,项目名称:OpenStudio,代码行数:15,代码来源:WorkflowJSON.cpp

示例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;
	}
}
开发者ID:DaveMachine,项目名称:ArxLibertatis,代码行数:16,代码来源:FilePath.cpp

示例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());
    }
开发者ID:ps-group,项目名称:cg_course_examples,代码行数:17,代码来源:AssetLoader.cpp


注:本文中的path::is_absolute方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。