YSTest  PreAlpha_b500_20140530
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
ystdex::path< _tSeqCon, _tNorm > 模板类 参考

一般路径模板。 更多...

#include <path.hpp>

类 ystdex::path< _tSeqCon, _tNorm > 继承关系图:
ystdex::path< _tSeqCon, _tNorm > 的协作图:

Public 类型

using value_type = typename _tSeqCon::value_type
 
using norm = _tNorm
 
using default_norm = ystdex::conditional_t< std::is_default_constructible< norm >::value, norm, file_path_norm< value_type >>
 
using reference = typename _tSeqCon::reference
 
using const_reference = typename _tSeqCon::const_reference
 
using size_type = typename base::size_type
 
using difference_type = typename base::difference_type
 
using iterator = typename base::iterator
 
using const_iterator = typename base::const_iterator
 
using reverse_iterator = typename base::container_type::reverse_iterator
 
using const_reverse_iterator = typename base::container_type::const_reverse_iterator
 

Public 成员函数

 path (std::unique_ptr< norm > p=std::unique_ptr< norm >())
 
 path (base &&b, std::unique_ptr< norm > p=std::unique_ptr< norm >())
 
 path (size_type n, std::unique_ptr< norm > p=std::unique_ptr< norm >())
 
 path (size_type n, value_type root, std::unique_ptr< norm > p=std::unique_ptr< norm >())
 
template<typename _tIn >
 path (_tIn first, _tIn last, std::unique_ptr< norm > p=std::unique_ptr< norm >())
 
template<typename... _tParams>
 path (std::unique_ptr< norm > p, _tParams &&...args)
 
 path (const path &pth)
 
 path (path &&pth)
 
 path (std::initializer_list< value_type > il, std::unique_ptr< norm > p=std::unique_ptr< norm >())
 
pathoperator= (const path &pth)
 
pathoperator= (path &&pth)
 
pathoperator= (std::initializer_list< value_type > il)
 
bool before (const path &pth) const
 
bool equals (const path &pth) const
 
void filter_self ()
 
normget_norm () const
 
value_type get_root () const
 
bool is_absolute () const
 
bool is_relative () const
 
void merge_parents ()
 
void swap (path &pth)
 

Public 属性

std::unique_ptr< normp_norm
 

Private 类型

using base = sequence_container_adaptor< _tSeqCon >
 
- Private 类型 继承自 ystdex::sequence_container_adaptor< _tSeqCon >
using container_type = typename base::container_type
 
using value_type = typename container_type::value_type
 
using size_type = typename container_type::size_type
 

静态 Private 成员函数

static std::unique_ptr< normunique_norm (std::unique_ptr< norm > &p)
 

相关函数

(请注意: 这些不是成员函数.)

template<class _tSeqCon , class _tNorm >
void normalize (path< _tSeqCon, _tNorm > &pth)
 正规化。 更多...
 
template<class _tSeqCon , class _tNorm >
void swap (path< _tSeqCon, _tNorm > &x, path< _tSeqCon, _tNorm > &y)
 交换。 更多...
 
template<class _tSeqCon , class _tNorm >
_tSeqCon::value_type to_string (const path< _tSeqCon, _tNorm > &pth, const typename _tSeqCon::value_type &seperator=&to_array< typename string_traits< typename _tSeqCon::value_type >::value_type >("/")[0])
 取字符串表示。 更多...
 
template<class _tSeqCon , class _tNorm >
_tSeqCon::value_type to_string_d (const path< _tSeqCon, _tNorm > &pth, typename string_traits< typename _tSeqCon::value_type >::value_type delimiter= '/')
 取分隔符结尾的字符串表示。 更多...
 

额外继承的成员函数

- Private 成员函数 继承自 ystdex::sequence_container_adaptor< _tSeqCon >
 sequence_container_adaptor ()=default
 满足序列容器要求。 更多...
 
 sequence_container_adaptor (size_type n)
 
 sequence_container_adaptor (size_type n, const value_type &value)
 
template<class _tIn >
 sequence_container_adaptor (_tIn first, _tIn last)
 
 sequence_container_adaptor (const sequence_container_adaptor &)=default
 
 sequence_container_adaptor (sequence_container_adaptor &&)=default
 
 sequence_container_adaptor (std::initializer_list< value_type > il)
 
sequence_container_adaptoroperator= (const sequence_container_adaptor &)=default
 
sequence_container_adaptoroperator= (sequence_container_adaptor &&)=default
 
sequence_container_adaptoroperator= (std::initializer_list< value_type > il)
 

详细描述

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
class ystdex::path< _tSeqCon, _tNorm >

一般路径模板。

自从
build 473
模板参数
_tSeqCon可倒置的序列容器类型。
前置条件
_tSeqCon 满足序列容器要求和 LessThanComparable 要求。
_tSeqCon 成员异常安全性符合一般容器要求,具有 ISO C++11 表 101 指定的可选操作 back 、 front 、 pop_back 和 push_back 。
注解
满足序列容器、可倒置容器要求,支持容器比较操作。
使用 ISO C++11 容器要求指定的成员顺序声明。
警告
非虚析构。
参见
ISO C++11 17.6.3.1[utility.arg.requirements], 23.2.1[container.requirements.general] 。

在文件 path.hpp149 行定义.

成员类型定义说明

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
using ystdex::path< _tSeqCon, _tNorm >::base = sequence_container_adaptor<_tSeqCon>
private

在文件 path.hpp152 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
using ystdex::path< _tSeqCon, _tNorm >::const_iterator = typename base::const_iterator

在文件 path.hpp165 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
using ystdex::path< _tSeqCon, _tNorm >::const_reference = typename _tSeqCon::const_reference

在文件 path.hpp161 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
using ystdex::path< _tSeqCon, _tNorm >::const_reverse_iterator = typename base::container_type::const_reverse_iterator

在文件 path.hpp168 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
using ystdex::path< _tSeqCon, _tNorm >::default_norm = ystdex::conditional_t<std::is_default_constructible< norm>::value, norm, file_path_norm<value_type>>
自从
build 473

在文件 path.hpp159 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
using ystdex::path< _tSeqCon, _tNorm >::difference_type = typename base::difference_type

在文件 path.hpp163 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
using ystdex::path< _tSeqCon, _tNorm >::iterator = typename base::iterator

在文件 path.hpp164 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
using ystdex::path< _tSeqCon, _tNorm >::norm = _tNorm

在文件 path.hpp156 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
using ystdex::path< _tSeqCon, _tNorm >::reference = typename _tSeqCon::reference

在文件 path.hpp160 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
using ystdex::path< _tSeqCon, _tNorm >::reverse_iterator = typename base::container_type::reverse_iterator

在文件 path.hpp166 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
using ystdex::path< _tSeqCon, _tNorm >::size_type = typename base::size_type

在文件 path.hpp162 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
using ystdex::path< _tSeqCon, _tNorm >::value_type = typename _tSeqCon::value_type

在文件 path.hpp155 行定义.

构造及析构函数说明

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
ystdex::path< _tSeqCon, _tNorm >::path ( std::unique_ptr< norm p = std::unique_ptr<norm>())
inline

在文件 path.hpp173 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
ystdex::path< _tSeqCon, _tNorm >::path ( base &&  b,
std::unique_ptr< norm p = std::unique_ptr<norm>() 
)
inlineexplicit
自从
build 433

在文件 path.hpp178 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
ystdex::path< _tSeqCon, _tNorm >::path ( size_type  n,
std::unique_ptr< norm p = std::unique_ptr<norm>() 
)
inlineexplicit

在文件 path.hpp182 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
ystdex::path< _tSeqCon, _tNorm >::path ( size_type  n,
value_type  root,
std::unique_ptr< norm p = std::unique_ptr<norm>() 
)
inline

在文件 path.hpp185 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
template<typename _tIn >
ystdex::path< _tSeqCon, _tNorm >::path ( _tIn  first,
_tIn  last,
std::unique_ptr< norm p = std::unique_ptr<norm>() 
)
inline

在文件 path.hpp192 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
template<typename... _tParams>
ystdex::path< _tSeqCon, _tNorm >::path ( std::unique_ptr< norm p,
_tParams &&...  args 
)
inline
自从
build 433

在文件 path.hpp198 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
ystdex::path< _tSeqCon, _tNorm >::path ( const path< _tSeqCon, _tNorm > &  pth)
inline

在文件 path.hpp201 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
ystdex::path< _tSeqCon, _tNorm >::path ( path< _tSeqCon, _tNorm > &&  pth)
inline

在文件 path.hpp204 行定义.

参考 ystdex::path< _tSeqCon, _tNorm >::swap().

函数调用图:

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
ystdex::path< _tSeqCon, _tNorm >::path ( std::initializer_list< value_type il,
std::unique_ptr< norm p = std::unique_ptr<norm>() 
)
inline

在文件 path.hpp209 行定义.

成员函数说明

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
bool ystdex::path< _tSeqCon, _tNorm >::before ( const path< _tSeqCon, _tNorm > &  pth) const
inline

在文件 path.hpp274 行定义.

参考 ystdex::path< _tSeqCon, _tNorm >::get_norm().

参考自 ystdex::operator<().

函数调用图:

这是这个函数的调用关系图:

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
bool ystdex::path< _tSeqCon, _tNorm >::equals ( const path< _tSeqCon, _tNorm > &  pth) const
inline

在文件 path.hpp281 行定义.

参考 ystdex::path< _tSeqCon, _tNorm >::get_norm().

参考自 ystdex::operator==().

函数调用图:

这是这个函数的调用关系图:

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
void ystdex::path< _tSeqCon, _tNorm >::filter_self ( )
inline

在文件 path.hpp288 行定义.

参考 ystdex::erase_all_if() , 以及 platform_ex::Windows::s.

参考自 ystdex::path< _tSeqCon, _tNorm >::normalize().

函数调用图:

这是这个函数的调用关系图:

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
norm& ystdex::path< _tSeqCon, _tNorm >::get_norm ( ) const
inline

在文件 path.hpp298 行定义.

参考 yconstraint.

参考自 ystdex::path< _tSeqCon, _tNorm >::before(), YSLib::IO::ClassifyNode() , 以及 ystdex::path< _tSeqCon, _tNorm >::equals().

这是这个函数的调用关系图:

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
value_type ystdex::path< _tSeqCon, _tNorm >::get_root ( ) const
inline

在文件 path.hpp305 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
bool ystdex::path< _tSeqCon, _tNorm >::is_absolute ( ) const
inline

在文件 path.hpp311 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
bool ystdex::path< _tSeqCon, _tNorm >::is_relative ( ) const
inline

在文件 path.hpp317 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
void ystdex::path< _tSeqCon, _tNorm >::merge_parents ( )
inline

在文件 path.hpp323 行定义.

参考 yassume.

参考自 ystdex::path< _tSeqCon, _tNorm >::normalize().

这是这个函数的调用关系图:

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
path& ystdex::path< _tSeqCon, _tNorm >::operator= ( const path< _tSeqCon, _tNorm > &  pth)
inline

在文件 path.hpp215 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
path& ystdex::path< _tSeqCon, _tNorm >::operator= ( path< _tSeqCon, _tNorm > &&  pth)
inline

在文件 path.hpp220 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
path& ystdex::path< _tSeqCon, _tNorm >::operator= ( std::initializer_list< value_type il)
inline

在文件 path.hpp226 行定义.

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
void ystdex::path< _tSeqCon, _tNorm >::swap ( path< _tSeqCon, _tNorm > &  pth)
inline

在文件 path.hpp344 行定义.

参考 ystdex::swap().

参考自 ystdex::path< _tSeqCon, _tNorm >::path() , 以及 ystdex::path< _tSeqCon, _tNorm >::swap().

函数调用图:

这是这个函数的调用关系图:

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
static std::unique_ptr<norm> ystdex::path< _tSeqCon, _tNorm >::unique_norm ( std::unique_ptr< norm > &  p)
inlinestaticprivate

在文件 path.hpp352 行定义.

友元及相关函数文档

template<class _tSeqCon , class _tNorm >
void normalize ( path< _tSeqCon, _tNorm > &  pth)
related

正规化。

在文件 path.hpp412 行定义.

参考 ystdex::path< _tSeqCon, _tNorm >::filter_self() , 以及 ystdex::path< _tSeqCon, _tNorm >::merge_parents().

函数调用图:

template<class _tSeqCon , class _tNorm >
void swap ( path< _tSeqCon, _tNorm > &  x,
path< _tSeqCon, _tNorm > &  y 
)
related

交换。

在文件 path.hpp423 行定义.

参考 ystdex::path< _tSeqCon, _tNorm >::swap().

函数调用图:

template<class _tSeqCon , class _tNorm >
_tSeqCon::value_type to_string ( const path< _tSeqCon, _tNorm > &  pth,
const typename _tSeqCon::value_type &  seperator = &to_array< typename string_traits<typename _tSeqCon::value_type>::value_type>("/")[0] 
)
related

取字符串表示。

在文件 path.hpp434 行定义.

template<class _tSeqCon , class _tNorm >
_tSeqCon::value_type to_string_d ( const path< _tSeqCon, _tNorm > &  pth,
typename string_traits< typename _tSeqCon::value_type >::value_type  delimiter = '/' 
)
related

取分隔符结尾的字符串表示。

在文件 path.hpp461 行定义.

参考 platform_ex::Windows::s.

类成员变量说明

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
std::unique_ptr<norm> ystdex::path< _tSeqCon, _tNorm >::p_norm

在文件 path.hpp170 行定义.


该类的文档由以下文件生成: