YSTest: NPL::A1::FormContextHandler类 参考

YSTest PreAlpha_b800_20170810 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 类列表
- 类索引
- 类继承关系
- 类成员

Public 成员函数 | Public 属性 | 所有成员列表
NPL::A1::FormContextHandler类 参考

形式上下文处理器。 更多...

`#include <NPLA1.h>`

类 NPL::A1::FormContextHandler 继承关系图:
[图例]
NPL::A1::FormContextHandler 的协作图:
[图例]

## Public 成员函数

template<typename _func , yimpl(typename=ystdex::exclude_self_t< FormContextHandler, _func >) >
| FormContextHandler (_func &&f)
template<typename _func , typename _fCheck >
| FormContextHandler (_func &&f, _fCheck c)
| DefDeCopyMoveCtorAssignment (FormContextHandler) friend PDefHOp(bool
| 比较上下文处理器相等。 更多...
const FormContextHandler const FormContextHandler &y | ImplRet (x.Handler==y.Handler) ReductionStatus operator()(TermNode &
| 处理一般形式。 更多...

## Public 属性

ContextHandler | Handler
std::function< bool(const TermNode &)> | Check {IsBranch}
| 项检查例程：验证被包装的处理器的调用符合前置条件。 更多...
const FormContextHandler & | x
const FormContextHandler const FormContextHandler &y ContextNode & | const

## 详细描述

形式上下文处理器。

警告
  非虚析构。

自从
  build 674

处理列表项的操作符。

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

## 构造及析构函数说明

template<typename _func , yimpl(typename=ystdex::exclude_self_t< FormContextHandler, _func >) >

NPL::A1::FormContextHandler::FormContextHandler | ( | _func && | f | ) |

inline

自从
  build 697

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

template<typename _func , typename _fCheck >

NPL::A1::FormContextHandler::FormContextHandler | ( | _func && | f,
|  | _fCheck | c
| ) |  |

inline

自从
  build 733

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

## 成员函数说明

NPL::A1::FormContextHandler::DefDeCopyMoveCtorAssignment | ( | FormContextHandler |  | ) |

比较上下文处理器相等。

自从
  build 757

注解
  忽略检查例程的等价性。

自从
  build 748

const FormContextHandler const FormContextHandler& y NPL::A1::FormContextHandler::ImplRet | ( | x. | Handler = `= y.Handler` | ) |

处理一般形式。

返回
  Handler 调用的返回值，或 ReductionStatus::Clean 。

异常

  NPLException | 异常中立。
  LoggedEvent | 警告：类型不匹配， 由 Handler 抛出的 ystdex::bad_any_cast 转换。
  LoggedEvent | 错误：由 Handler 抛出的 ystdex::bad_any_cast 外的 std::exception 转换。
  std::invalid_argument | 项检查未通过。

自从
  build 751

项检查不存在或在检查通过后，变换无参数规约，然后对节点调用 Hanlder ，否则抛出异常。 无参数时第一参数具有两个子项且第二项为空节点。无参数变换删除空节点。

## 类成员变量说明

std::function<bool(const TermNode&)> NPL::A1::FormContextHandler::Check {IsBranch}

项检查例程：验证被包装的处理器的调用符合前置条件。

自从
  build 733

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

const FormContextHandler const FormContextHandler& y ContextNode& NPL::A1::FormContextHandler::const

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

ContextHandler NPL::A1::FormContextHandler::Handler

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

const FormContextHandler& NPL::A1::FormContextHandler::x

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

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

- NPLA1.h