YSTest: YSLib::ValueNode类 参考

YSTest PreAlpha_b500_20140530 The YSLib Test Project

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

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

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
Public 类型 | Public 成员函数 | Public 属性 | Private 成员函数 | Private 属性 | 相关函数 | 所有成员列表
YSLib::ValueNode类 参考

值类型节点。 更多...

`#include <ValueNode.h>`

YSLib::ValueNode 的协作图:
[图例]

## Public 类型

using | Container = set< ValueNode >
using | iterator = Container::iterator
using | const_iterator = Container::const_iterator

## Public 成员函数

| DefDeCtor (ValueNode) template< typename _tString
| 构造：使用字符串引用和值类型对象构造参数。 更多...
typename _tParams | ValueNode (int, _tString &&str, _tParams &&...args)
template<typename _tIn >
| ValueNode (const pair< _tIn, _tIn > &pr)
| 构造：使用输入迭代器对。 更多...
template<typename _tIn , typename _tString >
| ValueNode (const pair< _tIn, _tIn > &pr, _tString &&str)
| 构造：使用输入迭代器对、字符串引用和值参数。 更多...
| DefDeCopyCtor (ValueNode) DefDeMoveCtor(ValueNode) DefDeCopyAssignment(ValueNode) DefDeMoveAssignment(ValueNode) PDefHOp(bool
const ynothrow | ImplRet (!Value) PDefHOp(const ValueNode &
const ynothrow const ValueNode &node const | ImplRet (Add(node),*this) PDefHOp(const ValueNode &
const ynothrow const ValueNode &node const ValueNode &&node const | ImplRet (Add(std::move(node)),*this) PDefHOp(const ValueNode &
const ynothrow const ValueNode &node const ValueNode &&node const const ValueNode &node const | ImplRet (Remove(node),*this) PDefHOp(const ValueNode &
const ynothrow const ValueNode &node const ValueNode &&node const const ValueNode &node const const string &str const | ImplRet (Remove(str),*this) PDefHOp(const ValueNode &
| 替换同名子节点。 更多...

const ynothrow const ValueNode
&node const ValueNode &&node
const const ValueNode &node
const const string &str const
const ValueNode &node const
ImplRet this

PDefHOp (const ValueNode &,/=, ValueNode &&node) const ImplRet(*this%

| PDefHOp (bool,==, const ValueNode &node) const ImplRet(name
template<class _tCon >
const ValueNode & | operator[] (const ystdex::path< _tCon > &pth) const
| DefCvt (const ynothrow, bool, bool(Value)) DefCvt(const ynothrow
| DefGetter (const, Container &, Container, Value.Access< Container >()) DefGetter(const ynothrow
Container Value | AccessPtr ()) DefGetter(const ynothrow
Container Value const string name size_t | GetSize () const ynothrow
bool | Add (const ValueNode &) const
bool | Add (ValueNode &&) const
| PDefH (void, Clear,) ImplExpr(Value.Clear()) bool Remove(const ValueNode &) const
| PDefH (bool, Remove, const string &str) const ImplRet(Remove(
const ValueNode & | at (const string &) const

const ynothrow const ValueNode
&node const ValueNode &&node
const const ValueNode &node
const const string &str const
const ValueNode &node const
ImplRet this *this const
ValueNode &

operator%= (const ValueNode &node) const

| 替换同名子节点。 更多...
const ValueNode & | operator%= (const ValueNode &&node) const

## Public 属性

ValueObject | Value
const string | name
Container | ContainerPtr
Container Value const string | Name

## Private 成员函数

Container & | CheckNodes () const

## Private 属性

string | name

## 相关函数

(请注意: 这些不是成员函数.)
template<typename _type >
_type & | Access (const ValueNode &node)

访问节点的指定类型对象。

异常

  std::bad_cast | 空实例或类型检查失败 。

更多...

template<typename _type >
_type & | AccessChild (const ValueNode &node, const string &name)

访问指定名称的子节点的指定类型对象。

异常

  std::bad_cast | 空实例或类型检查失败 。

更多...

template<typename _tString , typename... _tParams>
ValueNode | MakeNode (_tString &&name, _tParams &&...args)
| 取指定名称和退化参数的值类型节点。 更多...
template<typename _type >
_type * | AccessChildPtr (const ValueNode &node, const string &name)

访问指定名称的子节点的指定类型对象的指针。

异常

  std::bad_cast | 空实例或类型检查失败 。

更多...

| begin
const | end
| PDefH (iterator, begin,) ImplRet(GetContainer().begin()) PDefH(const_iterator
const | ImplRet (GetContainer().begin()) PDefH(iterator
const | ImplRet (GetContainer().end()) PDefH(const_iterator

## 详细描述

值类型节点。

警告
  非虚析构。

自从
  build 330

包含名称字符串和值类型对象的对象节点。

在文件 ValueNode.h 第 45 行定义.

## 成员类型定义说明

using YSLib::ValueNode::const_iterator = Container::const_iterator

自从
  build 460

在文件 ValueNode.h 第 52 行定义.

using YSLib::ValueNode::Container = set<ValueNode>

在文件 ValueNode.h 第 48 行定义.

using YSLib::ValueNode::iterator = Container::iterator

自从
  build 460

在文件 ValueNode.h 第 50 行定义.

## 构造及析构函数说明

typename _tParams YSLib::ValueNode::ValueNode | ( | int | ,
|  | _tString && | str,
|  | _tParams &&... | args
| ) |  |

inline

在文件 ValueNode.h 第 69 行定义.

template<typename _tIn >

YSLib::ValueNode::ValueNode | ( | const pair< _tIn, _tIn > & | pr | ) |

inline

构造：使用输入迭代器对。

自从
  build 337

在文件 ValueNode.h 第 78 行定义.

template<typename _tIn , typename _tString >

YSLib::ValueNode::ValueNode | ( | const pair< _tIn, _tIn > & | pr,
|  | _tString && | str
| ) |  |

inline

构造：使用输入迭代器对、字符串引用和值参数。

自从
  build 340

在文件 ValueNode.h 第 87 行定义.

## 成员函数说明

Container Value YSLib::ValueNode::AccessPtr | ( |  | ) | const

bool YSLib::ValueNode::Add | ( | const ValueNode & | node | ) | const

自从
  build 403

在文件 ValueNode.cpp 第 63 行定义.

参考 CheckNodes().

函数调用图:

bool YSLib::ValueNode::Add | ( | ValueNode && | node | ) | const

自从
  build 403

在文件 ValueNode.cpp 第 68 行定义.

参考 CheckNodes().

函数调用图:

const ValueNode & YSLib::ValueNode::at | ( | const string & | name | ) | const

自从
  build 433

在文件 ValueNode.cpp 第 83 行定义.

参考 YSLib::AccessNode().

参考自 AccessChild() , 以及 YReader::ShlReader::SaveBookmarks().

函数调用图:

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

ValueNode::Container & YSLib::ValueNode::CheckNodes | ( |  | ) | const

private

自从
  build 398

在文件 ValueNode.cpp 第 55 行定义.

参考 Value.

参考自 Add().

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

YSLib::ValueNode::DefCvt | ( | const ynothrow | ,
|  | bool | ,
|  | bool(Value) |
| ) |  | const

explicit

自从
  build 336

YSLib::ValueNode::DefDeCopyCtor | ( | ValueNode |  | ) |

自从
  build 336

YSLib::ValueNode::DefDeCtor | ( | ValueNode |  | ) |

构造：使用字符串引用和值类型对象构造参数。

注解
  第一个参数不使用，仅用于避免参与单参数重载，便于其它类使用转换函数。

自从
  build 376

YSLib::ValueNode::DefGetter | ( | const | ,
|  | Container & | ,
|  | Container | ,
|  | Value.Access< Container > | ()
| ) |  | const

自从
  build 340
  build 398

size_t YSLib::ValueNode::GetSize | ( |  | ) | const

在文件 ValueNode.cpp 第 47 行定义.

参考自 NPL::SContext::Reduce() , 以及 NPL::TransformNPLA1().

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

const ynothrow YSLib::ValueNode::ImplRet | ( | ! | Value | ) | const

自从
  build 403

const ynothrow const ValueNode& node const YSLib::ValueNode::ImplRet | ( | Add(node) | ,
|  | * | this
| ) |  | const

const ynothrow const ValueNode& node const ValueNode&& node const YSLib::ValueNode::ImplRet | ( | Add(std::move(node)) | ,
|  | * | this
| ) |  | const

const ynothrow const ValueNode& node const ValueNode&& node const const ValueNode& node const YSLib::ValueNode::ImplRet | ( | Remove(node) | ,
|  | * | this
| ) |  | const

const ynothrow const ValueNode& node const ValueNode&& node const const ValueNode& node const const string& str const YSLib::ValueNode::ImplRet | ( | Remove(str) | ,
|  | * | this
| ) |  | const

替换同名子节点。

返回
  自身引用。

自从
  build 398

const YSLib::ValueNode::ImplRet | ( | GetContainer().begin() |  | ) |

const YSLib::ValueNode::ImplRet | ( | GetContainer().end() |  | ) |

const ynothrow const ValueNode& node const ValueNode&& node const const ValueNode& node const const string& str const const ValueNode& node const ImplRet this * this const ValueNode& YSLib::ValueNode::operator%= | ( | const ValueNode & | node | ) | const

inline

替换同名子节点。

返回
  子节点引用。

自从
  build 399

在文件 ValueNode.h 第 130 行定义.

const ValueNode& YSLib::ValueNode::operator%= | ( | const ValueNode && | node | ) | const

inline

在文件 ValueNode.h 第 137 行定义.

template<class _tCon >

const ValueNode & YSLib::ValueNode::operator[] | ( | const ystdex::path< _tCon > & | pth | ) | const

inline

自从
  build 497

在文件 ValueNode.h 第 157 行定义.

YSLib::ValueNode::PDefH | ( | void | ,
|  | Clear |
| ) |  | const

自从
  build 403

YSLib::ValueNode::PDefH | ( | bool | ,
|  | Remove | ,
|  | const string & | str
| ) |  | const

inline

自从
  build 403

在文件 ValueNode.h 第 199 行定义.

YSLib::ValueNode::PDefH | ( | iterator | ,
|  | begin |
| ) |  |

自从
  build 460

const ynothrow const ValueNode& node const ValueNode&& node const const ValueNode& node const const string& str const const ValueNode& node const ImplRet this YSLib::ValueNode::PDefHOp | ( | const ValueNode & | ,
|  | / | ,
|  | ValueNode && | node
| ) |  | const

YSLib::ValueNode::PDefHOp | ( | bool | ,
|  | const ValueNode & | node
| ) |  | const

## 友元及相关函数文档

template<typename _type >

_type & Access | ( | const ValueNode & | node | ) |

related

访问节点的指定类型对象。

异常

  std::bad_cast | 空实例或类型检查失败 。

自从
  build 399

在文件 ValueNode.h 第 228 行定义.

template<typename _type >

_type & AccessChild | ( | const ValueNode & | node,
|  | const string & | name
| ) |  |

related

访问指定名称的子节点的指定类型对象。

异常

  std::bad_cast | 空实例或类型检查失败 。

自从
  build 432

在文件 ValueNode.h 第 292 行定义.

参考 at().

函数调用图:
template<typename _type >

_type * AccessChildPtr | ( | const ValueNode & | node,
|  | const string & | name
| ) |  |

related

访问指定名称的子节点的指定类型对象的指针。

异常

  std::bad_cast | 空实例或类型检查失败 。

自从
  build 432

在文件 ValueNode.h 第 306 行定义.

参考 YSLib::AccessNodePtr() , 以及 YSLib::UI::name.

函数调用图:
template<typename _tString , typename... _tParams>

ValueNode MakeNode | ( | _tString && | name,
|  | _tParams &&... | args
| ) |  |

related

取指定名称和退化参数的值类型节点。

自从
  build 337

在文件 ValueNode.h 第 325 行定义.

参考 YSLib::UI::args, ystdex::decay_copy(), YSLib::UI::name , 以及 yforward.

函数调用图:

## 类成员变量说明

YSLib::ValueNode::begin

在文件 ValueNode.h 第 210 行定义.

参考自 NPL::SContext::Analyze() , 以及 NPL::TransformNPLA1().

Container YSLib::ValueNode::ContainerPtr

在文件 ValueNode.h 第 173 行定义.

const YSLib::ValueNode::end

在文件 ValueNode.h 第 213 行定义.

参考自 NPL::TransformNPLA1().

string YSLib::ValueNode::name

private

在文件 ValueNode.h 第 55 行定义.

const string YSLib::ValueNode::name

在文件 ValueNode.h 第 168 行定义.

Container Value const string YSLib::ValueNode::Name

在文件 ValueNode.h 第 175 行定义.

ValueObject YSLib::ValueNode::Value

mutable

自从
  build 399

在文件 ValueNode.h 第 59 行定义.

参考自 CheckNodes(), YReader::ShlReader::SaveBookmarks() , 以及 YSLib::WriteConfiguration().

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

- ValueNode.h
- ValueNode.cpp