YSTest  PreAlpha_b500_20140530
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
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 ValueNodeoperator[] (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 ValueNodeat (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 ValueNodeoperator%= (const ValueNode &&node) const
 

Public 属性

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

Private 成员函数

ContainerCheckNodes () 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.h45 行定义.

成员类型定义说明

using YSLib::ValueNode::const_iterator = Container::const_iterator
自从
build 460

在文件 ValueNode.h52 行定义.

在文件 ValueNode.h48 行定义.

using YSLib::ValueNode::iterator = Container::iterator
自从
build 460

在文件 ValueNode.h50 行定义.

构造及析构函数说明

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

在文件 ValueNode.h69 行定义.

template<typename _tIn >
YSLib::ValueNode::ValueNode ( const pair< _tIn, _tIn > &  pr)
inline

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

自从
build 337

在文件 ValueNode.h78 行定义.

template<typename _tIn , typename _tString >
YSLib::ValueNode::ValueNode ( const pair< _tIn, _tIn > &  pr,
_tString &&  str 
)
inline

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

自从
build 340

在文件 ValueNode.h87 行定义.

成员函数说明

Container Value YSLib::ValueNode::AccessPtr ( ) const
bool YSLib::ValueNode::Add ( const ValueNode node) const
自从
build 403

在文件 ValueNode.cpp63 行定义.

参考 CheckNodes().

函数调用图:

bool YSLib::ValueNode::Add ( ValueNode &&  node) const
自从
build 403

在文件 ValueNode.cpp68 行定义.

参考 CheckNodes().

函数调用图:

const ValueNode & YSLib::ValueNode::at ( const string name) const
自从
build 433

在文件 ValueNode.cpp83 行定义.

参考 YSLib::AccessNode().

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

函数调用图:

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

ValueNode::Container & YSLib::ValueNode::CheckNodes ( ) const
private
自从
build 398

在文件 ValueNode.cpp55 行定义.

参考 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.cpp47 行定义.

参考自 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.h130 行定义.

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

在文件 ValueNode.h137 行定义.

template<class _tCon >
const ValueNode & YSLib::ValueNode::operator[] ( const ystdex::path< _tCon > &  pth) const
inline
自从
build 497

在文件 ValueNode.h157 行定义.

YSLib::ValueNode::PDefH ( void  ,
Clear   
) const
自从
build 403
YSLib::ValueNode::PDefH ( bool  ,
Remove  ,
const string str 
) const
inline
自从
build 403

在文件 ValueNode.h199 行定义.

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.h228 行定义.

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

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

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

自从
build 432

在文件 ValueNode.h292 行定义.

参考 at().

函数调用图:

template<typename _type >
_type * AccessChildPtr ( const ValueNode node,
const string name 
)
related

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

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

自从
build 432

在文件 ValueNode.h306 行定义.

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

函数调用图:

template<typename _tString , typename... _tParams>
ValueNode MakeNode ( _tString &&  name,
_tParams &&...  args 
)
related

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

自从
build 337

在文件 ValueNode.h325 行定义.

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

函数调用图:

类成员变量说明

YSLib::ValueNode::begin

在文件 ValueNode.h210 行定义.

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

Container YSLib::ValueNode::ContainerPtr

在文件 ValueNode.h173 行定义.

const YSLib::ValueNode::end

在文件 ValueNode.h213 行定义.

参考自 NPL::TransformNPLA1().

string YSLib::ValueNode::name
private

在文件 ValueNode.h55 行定义.

const string YSLib::ValueNode::name

在文件 ValueNode.h168 行定义.

Container Value const string YSLib::ValueNode::Name

在文件 ValueNode.h175 行定义.

ValueObject YSLib::ValueNode::Value
mutable
自从
build 399

在文件 ValueNode.h59 行定义.

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


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