YSTest: String Algorithms

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.hpp 第 256 行定义.

参考 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.hpp 第 263 行定义.

参考 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.hpp 第 222 行定义.

参考自 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.hpp 第 231 行定义.

参考自 ystdex::trim().

这是这个函数的调用关系图:
template<typename _fPred , typename _fInsert , typename _tIn >

void ystdex::split | ( | _tIn | b,
|  | _tIn | e,
|  | _fPred | is_delim,
|  | _fInsert | insert
| ) |  |

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

注解
  只保留非空结果，不保留分隔字符。

自从
  build 304

在文件 string.hpp 第 279 行定义.

参考自 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.hpp 第 300 行定义.

参考 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.hpp 第 314 行定义.

参考自 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.hpp 第 340 行定义.

参考 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 `begin` 和 `end` 指定范围迭代器。
  除 ADL 外接口同 Boost.StringAlgo 。

自从
  build 450

在文件 string.hpp 第 132 行定义.

参考 yunseq.

参考自 ystdex::starts_width().

这是这个函数的调用关系图:
template<typename _tRange1 , typename _tRange2 >

bool ystdex::starts_width | ( | const _tRange1 & | input,
|  | const _tRange2 & | test
| ) |  |

inline

在文件 string.hpp 第 148 行定义.

参考 ystdex::starts_width().

函数调用图:
template<typename _tChar >

size_t ystdex::string_length | ( | const _tChar * | str | ) |

计算字符串长度。

自从
  build 409

在文件 string.hpp 第 86 行定义.

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.hpp 第 240 行定义.

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

参考自 NPL::Decompose().

函数调用图:

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