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

YSTest PreAlpha_b900_20201012 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, size_t n=0)
template<typename _func , class _tAlloc >
| FormContextHandler (std::allocator_arg_t, const _tAlloc &a, _func &&f, size_t n=0)
| DefDeCopyMoveCtorAssignment (FormContextHandler) YB_ATTR_nodiscard YB_PURE friend PDefHOp(bool
| 比较上下文处理器相等。 更多...
const FormContextHandler const FormContextHandler &y | ImplRet (x.Equals(y)) PDefHOp(ReductionStatus
| 处理一般形式。 更多...
const FormContextHandler const FormContextHandler &y TermNode ContextNode &ctx const ImplRet(CallN(Wrapping, term, ctx)) private YB_ATTR_nodiscard YB_PURE bool | Equals (const FormContextHandler &) const

## Public 属性

ContextHandler | Handler
size_t | Wrapping
| 包装数。 更多...
const FormContextHandler & | x
const FormContextHandler const FormContextHandler &y TermNode & | term

## 详细描述

形式上下文处理器。

自从
  build 674

警告
  非虚析构。

处理列表项的操作符。

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

## 构造及析构函数说明

## ◆ FormContextHandler() [1/2]

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

NPL::A1::FormContextHandler::FormContextHandler | ( | _func && | f,
|  | size_t | n = `0`
| ) |  |

inline

自从
  build 697

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

## ◆ FormContextHandler() [2/2]

template<typename _func , class _tAlloc >

NPL::A1::FormContextHandler::FormContextHandler | ( | std::allocator_arg_t | ,
|  | const _tAlloc & | a,
|  | _func && | f,
|  | size_t | n = `0`
| ) |  |

inline

自从
  build 886

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

## 成员函数说明

## ◆ DefDeCopyMoveCtorAssignment()

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

比较上下文处理器相等。

自从
  build 757

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

自从
  build 748

## ◆ Equals()

bool NPL::A1::FormContextHandler::Equals | ( | const FormContextHandler & | fch | ) | const

自从
  build 859

在文件 NPLA1.cpp 第 1173 行定义.

引用了 Handler, platform::p , 以及 Wrapping.

## ◆ ImplRet()

const FormContextHandler const FormContextHandler& y NPL::A1::FormContextHandler::ImplRet | ( | x. | Equalsy | ) |

处理一般形式。

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

注解
  断言调用 Handler 前的项符合 IsBranchedList 。

警告
  要求异步实现中对 Handler 调用时保证此对象生存期，否则行为未定义。

参见
  ReduceArguments
  Wrapping

自从
  build 751

对每一个子项求值，重复 Wrapping 次； 然后断言检查项，对可调用的项调用 Hanlder 。 项检查不存在或在检查通过后，变换无参数规约，然后对节点调用 Hanlder ， 否则抛出异常。 无参数时第一参数应具有两个子项且第二项为空节点。

## 类成员变量说明

## ◆ Handler

ContextHandler NPL::A1::FormContextHandler::Handler

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

被这些函数引用 Equals().

## ◆ term

const FormContextHandler const FormContextHandler& y TermNode& NPL::A1::FormContextHandler::term

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

## ◆ Wrapping

size_t NPL::A1::FormContextHandler::Wrapping

包装数。

自从
  build 859

注解
  决定调用前需要对操作数进行求值的次数。

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

被这些函数引用 Equals().

## ◆ x

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

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

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

- NPLA1.h
- NPLA1.cpp