YSTest: NPL::ContextNode类 参考

YSTest PreAlpha_b800_20170810 The YSLib Test Project

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

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

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

上下文节点。 更多...

`#include <NPLA.h>`

NPL::ContextNode 的协作图:
[图例]

## Public 成员函数

| DefDeCtor (ContextNode) ContextNode(const ContextNode &
shared_ptr< Environment > && | DefDeCopyCtor (ContextNode) ContextNode(ContextNode &&)
| 转移构造。 更多...
| DefDeCopyMoveAssignment (ContextNode) DefGetter(const ynothrow
Environment::BindingMap | GetRecordRef ().GetMapRef()) DefGetter(const ynothrow
Environment::BindingMap Environment *p_record | PDefH (shared_ptr< Environment >, ShareRecord,) const ImplRet(GetRecordRef().shared_from_this()) PDefH(weak_ptr< Environment >
Environment::BindingMap Environment *p_record const | ImplRet (make_weak(ShareRecord())) friend PDefH(void

## Public 属性

EvaluationPasses | EvaluateLeaf {}
EvaluationPasses | EvaluateList {}
LiteralPasses | EvaluateLiteral {}
GuardPasses | Guard {}
Environment::BindingMap | BindingsRef
Environment::BindingMap Environment | RecordRef
Environment::BindingMap Environment *p_record | WeakenRecord
Environment::BindingMap Environment *p_record const | swap
Environment::BindingMap Environment *p_record const ContextNode & | x

## Private 属性

shared_ptr< Environment > | p_record {make_shared<Environment>()}
| 环境记录指针。 更多...

## 详细描述

上下文节点。

警告
  非虚析构。

自从
  build 782

在文件 NPLA.h 第 1174 行定义.

## 成员函数说明

shared_ptr<Environment>&& NPL::ContextNode::DefDeCopyCtor | ( | ContextNode |  | ) |

转移构造。

后置条件
  `p_record && p_record->Bindings.empty()` 。

自从
  build 788

NPL::ContextNode::DefDeCopyMoveAssignment | ( | ContextNode |  | ) | const

自从
  build 788

NPL::ContextNode::DefDeCtor | ( | ContextNode |  | ) | const

异常

  std::invalid_argument | 参数指针为空。

自从
  build 788

Environment::BindingMap NPL::ContextNode::GetRecordRef | ( |  | ) | const

参考自 NPL::A1::Forms::DefineWithRecursion(), NPL::A1::ResolveName() , 以及 NPL::A1::Forms::Undefine().

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

Environment::BindingMap Environment * p_record const NPL::ContextNode::ImplRet | ( | make_weak(ShareRecord()) |  | ) |

Environment::BindingMap Environment * p_record NPL::ContextNode::PDefH | ( | shared_ptr< Environment > | ,
|  | ShareRecord |
| ) |  | const

## 类成员变量说明

Environment::BindingMap NPL::ContextNode::BindingsRef

在文件 NPLA.h 第 1206 行定义.

EvaluationPasses NPL::ContextNode::EvaluateLeaf {}

在文件 NPLA.h 第 1184 行定义.

参考自 NPL::A1::AccessLeafPassesRef() , 以及 NPL::A1::InvokeLeaf().

EvaluationPasses NPL::ContextNode::EvaluateList {}

在文件 NPLA.h 第 1185 行定义.

参考自 NPL::A1::AccessListPassesRef() , 以及 NPL::A1::InvokeList().

LiteralPasses NPL::ContextNode::EvaluateLiteral {}

在文件 NPLA.h 第 1186 行定义.

参考自 NPL::A1::AccessLiteralPassesRef() , 以及 NPL::A1::InvokeLiteral().

GuardPasses NPL::ContextNode::Guard {}

在文件 NPLA.h 第 1187 行定义.

参考自 NPL::A1::AccessGuardPassesRef() , 以及 NPL::A1::InvokeGuard().

shared_ptr<Environment> NPL::ContextNode::p_record {make_shared<Environment>()}

private

环境记录指针。

自从
  build 788

在文件 NPLA.h 第 1181 行定义.

Environment::BindingMap Environment NPL::ContextNode::RecordRef

在文件 NPLA.h 第 1208 行定义.

Environment::BindingMap Environment * p_record const NPL::ContextNode::swap

在文件 NPLA.h 第 1217 行定义.

Environment::BindingMap Environment * p_record NPL::ContextNode::WeakenRecord

在文件 NPLA.h 第 1213 行定义.

参考自 NPL::A1::Forms::GetCurrentEnvironment().

Environment::BindingMap Environment * p_record const ContextNode& NPL::ContextNode::x

在文件 NPLA.h 第 1217 行定义.

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

- NPLA.h