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


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

本文整理汇总了C++中path::has_root_path方法的典型用法代码示例。如果您正苦于以下问题:C++ path::has_root_path方法的具体用法?C++ path::has_root_path怎么用?C++ path::has_root_path使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在path的用法示例。


在下文中一共展示了path::has_root_path方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: NaiveUncomplete

path NaiveUncomplete ( const path file, const path base )
{
    if ( file.has_root_path() ) {
		
        if ( file.root_path() != base.root_path() ) {
            return file;
        } else {
            return NaiveUncomplete ( file.relative_path(), base.relative_path() );
        }

    } else {

        if ( file.has_root_path() ) {
            throw "cannot uncomplete a path relative path from a rooted base";
        } else {

            typedef path::const_iterator path_iterator;
            path_iterator path_it = file.begin();
            path_iterator base_it = base.begin();
			
            while ( path_it != file.end() && base_it != base.end() ) {
				
                if ( *path_it != *base_it ) {
					break;
				}
				
                ++path_it; ++base_it;
            
			}
            
			path result;
            for ( ; base_it != base.end(); ++base_it ) {
                result /= "..";
            }
			
            for ( ; path_it != file.end(); ++path_it ) {
                result /= *path_it;
            }
			
            return result;
        }
    }
} // NaiveUncomplete
开发者ID:Jerebear559,项目名称:BaseElements-Plugin,代码行数:43,代码来源:BE_Boost_FileSystem_Additions.hpp


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