YSTest  PreAlpha_b500_20140530
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
String Algorithms

函数

template<typename _tChar >
size_t ystdex::string_length (const _tChar *str)
 计算字符串长度。 更多...
 
template<typename _fPred , typename _fInsert , typename _tIn >
void ystdex::split (_tIn b, _tIn e, _fPred is_delim, _fInsert insert)
 以指定字符分割字符序列。 更多...
 
template<typename _fPred , typename _fInsert , typename _tRange >
void ystdex::split (_tRange &&c, _fPred is_delim, _fInsert insert)
 以指定字符分割范围指定的字符串。 更多...
 
template<typename _fPred , typename _fInsert , typename _tIn >
_tIn ystdex::split_l (_tIn b, _tIn e, _fPred is_delim, _fInsert insert)
 以指定字符分割字符序列。 更多...
 
template<typename _fPred , typename _fInsert , typename _tRange >
void ystdex::split_l (_tRange &&c, _fPred is_delim, _fInsert insert)
 以指定字符分割范围指定的字符串。 更多...
 
template<typename _tRange1 , typename _tRange2 , typename _fPred >
bool ystdex::starts_width (const _tRange1 &input, const _tRange2 &test, _fPred comp)
 判断第一个参数指定的串是否以第二个参数起始。 更多...
 
template<typename _tRange1 , typename _tRange2 >
bool ystdex::starts_width (const _tRange1 &input, const _tRange2 &test)
 
template<class _tString >
_tString && ystdex::ltrim (_tString &&str, typename string_traits< _tString >::const_pointer t=&to_array< typename string_traits< _tString >::value_type >("\n\r\t\v ")[0])
 删除字符串中指定的连续前缀字符。 更多...
 
template<class _tString >
_tString && ystdex::rtrim (_tString &&str, typename string_traits< _tString >::const_pointer t=&to_array< typename string_traits< _tString >::value_type >("\n\r\t\v ")[0])
 删除字符串中指定的连续后缀字符。 更多...
 
template<class _tString >
_tString && ystdex::trim (_tString &&str, typename string_traits< _tString >::const_pointer t=&to_array< typename string_traits< _tString >::value_type >("\n\r\t\v ")[0])
 删除字符串中指定的连续前缀与后缀字符。 更多...
 
template<typename _tString >
_tString ystdex::get_mid (const _tString &str, typename _tString::size_type l=1)
 取删除前缀和后缀的子字符串。 更多...
 
template<typename _tString >
_tString ystdex::get_mid (const _tString &str, typename _tString::size_type l, typename _tString::size_type r)
 

详细描述

函数说明

template<typename _tString >
_tString ystdex::get_mid ( const _tString &  str,
typename _tString::size_type  l = 1 
)
inline

取删除前缀和后缀的子字符串。

前置条件
断言:删除的字符串不大于串长。
自从
build 304

在文件 string.hpp256 行定义.

参考 platform_ex::Windows::l , 以及 yassume.

参考自 NPL::Deliteralize().

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

template<typename _tString >
_tString ystdex::get_mid ( const _tString &  str,
typename _tString::size_type  l,
typename _tString::size_type  r 
)
inline

在文件 string.hpp263 行定义.

参考 YSLib::Drawing::r , 以及 yassume.

template<class _tString >
_tString&& ystdex::ltrim ( _tString &&  str,
typename string_traits< _tString >::const_pointer  t = &to_array<typename string_traits<_tString>::value_type>("\n\r\t\v ")[0] 
)
inline

删除字符串中指定的连续前缀字符。

自从
build 474

在文件 string.hpp222 行定义.

参考自 YReader::ShlReader::LoadBookmarks() , 以及 ystdex::trim().

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

template<class _tString >
_tString&& ystdex::rtrim ( _tString &&  str,
typename string_traits< _tString >::const_pointer  t = &to_array<typename string_traits<_tString>::value_type>("\n\r\t\v ")[0] 
)
inline

删除字符串中指定的连续后缀字符。

在文件 string.hpp231 行定义.

参考自 ystdex::trim().

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

template<typename _fPred , typename _fInsert , typename _tIn >
void ystdex::split ( _tIn  b,
_tIn  e,
_fPred  is_delim,
_fInsert  insert 
)

以指定字符分割字符序列。

注解
只保留非空结果,不保留分隔字符。
自从
build 304

在文件 string.hpp279 行定义.

参考自 YReader::ShlReader::LoadBookmarks() , 以及 ystdex::split().

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

template<typename _fPred , typename _fInsert , typename _tRange >
void ystdex::split ( _tRange &&  c,
_fPred  is_delim,
_fInsert  insert 
)
inline

以指定字符分割范围指定的字符串。

注解
只保留非空结果,不保留分隔字符。
自从
build 399

在文件 string.hpp300 行定义.

参考 CHRLib::c , 以及 ystdex::split().

函数调用图:

template<typename _fPred , typename _fInsert , typename _tIn >
_tIn ystdex::split_l ( _tIn  b,
_tIn  e,
_fPred  is_delim,
_fInsert  insert 
)

以指定字符分割字符序列。

注解
只保留非空的结果; 在起始保留分隔字符,除首个字符为非分隔字符时的第一次匹配。
自从
build 408

在文件 string.hpp314 行定义.

参考自 NPL::Decompose() , 以及 ystdex::split_l().

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

template<typename _fPred , typename _fInsert , typename _tRange >
void ystdex::split_l ( _tRange &&  c,
_fPred  is_delim,
_fInsert  insert 
)
inline

以指定字符分割范围指定的字符串。

注解
只保留除了分隔字符外非空的结果; 结果保留起始分隔字符,除非是起始非分隔字符第一次匹配。
自从
build 408

在文件 string.hpp340 行定义.

参考 CHRLib::c , 以及 ystdex::split_l().

函数调用图:

template<typename _tRange1 , typename _tRange2 , typename _fPred >
bool ystdex::starts_width ( const _tRange1 &  input,
const _tRange2 &  test,
_fPred  comp 
)

判断第一个参数指定的串是否以第二个参数起始。

注解
使用 ADL beginend 指定范围迭代器。
除 ADL 外接口同 Boost.StringAlgo 。
自从
build 450

在文件 string.hpp132 行定义.

参考 yunseq.

参考自 ystdex::starts_width().

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

template<typename _tRange1 , typename _tRange2 >
bool ystdex::starts_width ( const _tRange1 &  input,
const _tRange2 &  test 
)
inline

在文件 string.hpp148 行定义.

参考 ystdex::starts_width().

函数调用图:

template<typename _tChar >
size_t ystdex::string_length ( const _tChar *  str)

计算字符串长度。

自从
build 409

在文件 string.hpp86 行定义.

template<class _tString >
_tString&& ystdex::trim ( _tString &&  str,
typename string_traits< _tString >::const_pointer  t = &to_array<typename string_traits<_tString>::value_type>("\n\r\t\v ")[0] 
)
inline

删除字符串中指定的连续前缀与后缀字符。

在文件 string.hpp240 行定义.

参考 ystdex::ltrim() , 以及 ystdex::rtrim().

参考自 NPL::Decompose().

函数调用图:

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