YSTest: NPL::A1::SeparatorTransformer结构体 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 成员函数 | 静态 Public 成员函数 | 所有成员列表
NPL::A1::SeparatorTransformer结构体 参考

中缀分隔符变换器。 更多...

`#include <NPLA1.h>`

## Public 成员函数

template<typename _func , class _tTerm , class _fPred >
YB_ATTR_nodiscard TermNode | operator() (_func trans, _tTerm &&term, const ValueObject &pfx, _fPred filter) const
| 最后两个参数分别指定替换添加的前缀和判断被替换的项的过滤条件。 更多...
template<typename _func , class _tTerm , class _fPred >
YB_ATTR_nodiscard TermNode | AddRange (_func add_range, _tTerm &&term, const ValueObject &pfx, _fPred filter) const

## 静态 Public 成员函数

template<class _tTerm , class _fPred >
static YB_ATTR_nodiscard TermNode | Process (_tTerm &&term, const ValueObject &pfx, _fPred filter)
template<class _fPred >
static void | ReplaceChildren (TermNode &term, const ValueObject &pfx, _fPred filter)
| 找到子项符合过滤条件的并替换项为添加替换前缀的形式。 更多...

## 详细描述

中缀分隔符变换器。

自从
  build 881

变换分隔符中缀表达式为对应的前缀表达式形式。 移除子项中值和指定分隔符指定的项，并添加指定前缀值作为子项。 被添加的子项若是只有一个子项的列表项，该项被提升直接加入转换后的项作为子项。 最后一个参数指定返回值的名称。

在文件 NPLA1.h 第 685 行定义.

## 成员函数说明

## ◆ AddRange()

template<typename _func , class _tTerm , class _fPred >

YB_ATTR_nodiscard TermNode NPL::A1::SeparatorTransformer::AddRange | ( | _func | add_range,
|  | _tTerm && | term,
|  | const ValueObject & | pfx,
|  | _fPred | filter
| ) |  | const

inline

在文件 NPLA1.h 第 726 行定义.

引用了 YSLib::a, NPL::AsTermNode(), CHRLib::e, filter, pfx, ystdex::split(), NPL::A1::Internals::term , 以及 yforward.

函数调用图:

## ◆ operator()()

template<typename _func , class _tTerm , class _fPred >

YB_ATTR_nodiscard TermNode NPL::A1::SeparatorTransformer::operator() | ( | _func | trans,
|  | _tTerm && | term,
|  | const ValueObject & | pfx,
|  | _fPred | filter
| ) |  | const

inline

最后两个参数分别指定替换添加的前缀和判断被替换的项的过滤条件。

在文件 NPLA1.h 第 691 行定义.

引用了 NPL::AsTermNode(), platform::Deref(), CHRLib::e, filter, YSLib::i, next, pfx, ystdex::retry_on_cond(), NPL::A1::Internals::term, yforward , 以及 ynothrow.

函数调用图:

## ◆ Process()

template<class _tTerm , class _fPred >

static YB_ATTR_nodiscard TermNode NPL::A1::SeparatorTransformer::Process | ( | _tTerm && | term,
|  | const ValueObject & | pfx,
|  | _fPred | filter
| ) |  |

inlinestatic

在文件 NPLA1.h 第 747 行定义.

引用了 filter, pfx, NPL::A1::Internals::term, NPL::A1::tm, yforward , 以及 ynothrow.

## ◆ ReplaceChildren()

template<class _fPred >

static void NPL::A1::SeparatorTransformer::ReplaceChildren | ( | TermNode & | term,
|  | const ValueObject & | pfx,
|  | _fPred | filter
| ) |  |

inlinestatic

找到子项符合过滤条件的并替换项为添加替换前缀的形式。

返回
  是否找到并替换了项。

注解
  子项的内容在替换时被转移。

在文件 NPLA1.h 第 761 行定义.

引用了 filter, pfx , 以及 NPL::A1::Internals::term.

该结构体的文档由以下文件生成:

- NPLA1.h