YSTest: ValueNode.h 文件参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

类 | 命名空间 | 类型定义 | 函数 | 变量
ValueNode.h 文件参考
Core

值类型节点。 更多...

`#include "YModules.h"`
`#include <YSLib/Core/YObject.h>`
`#include <ystdex/operators.hpp>`
`#include <ystdex/set.hpp>`
`#include <ystdex/variadic.hpp>`
`#include <ystdex/tuple.hpp>`
`#include <ystdex/swap.hpp>`
`#include <ystdex/path.hpp>`
`#include <ystdex/utility.hpp>`
`#include <ystdex/algorithm.hpp>`
`#include <numeric>`
ValueNode.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

## 类

struct | YSLib::ListContainerTag
| 标记列表构造容器。 更多...
struct | YSLib::NoContainerTag
| 标记不使用容器。 更多...
class | YSLib::ValueNode
| 值类型节点。 更多...
struct | YSLib::ValueNode::MappedSetTraits
class | YSLib::NodeLiteral
| 包装节点的组合字面量。 更多...

## 命名空间

| YSLib
| YSLib 命名空间。

## 类型定义

using | YSLib::NodeSequence = yimpl(YSLib::vector)< ValueNode >
| 节点序列容器。 更多...

## 函数

template<typename _type >
YB_ATTR_nodiscard YB_PURE const _type & | YSLib::Access (const ValueNode &node)
template<typename _type >
YB_ATTR_nodiscard YB_PURE observer_ptr< _type > | YSLib::AccessPtr (ValueNode &node) ynothrow
| 访问节点的指定类型对象指针。 更多...
template<typename _type >
YB_ATTR_nodiscard YB_PURE observer_ptr< const _type > | YSLib::AccessPtr (const ValueNode &node) ynothrow
template<typename _type , typename _tNodeOrPointer >
YB_ATTR_nodiscard YB_PURE auto | YSLib::AccessPtr (observer_ptr< _tNodeOrPointer > p) ynothrow -> decltype(YSLib::AccessPtr< _type >(*p))
| 访问节点的指定类型对象指针。 更多...
YB_ATTR_nodiscard YF_API YB_PURE ValueObject | YSLib::GetValueOf (observer_ptr< const ValueNode >)
| 取指定名称指称的值。 更多...
YB_ATTR_nodiscard YF_API YB_PURE observer_ptr< const ValueObject > | YSLib::GetValuePtrOf (observer_ptr< const ValueNode >)
| 取指定名称指称的值的指针。 更多...
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE observer_ptr< ValueNode > | YSLib::AccessNodePtr (ValueNode::Container *, const _tKey &) ynothrow
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE observer_ptr< const ValueNode > | YSLib::AccessNodePtr (const ValueNode::Container *, const _tKey &) ynothrow
YB_ATTR_nodiscard YF_API YB_PURE ValueNode & | YSLib::AccessNode (ValueNode::Container *, const string &)
| 访问节点。 更多...
YB_ATTR_nodiscard YF_API YB_PURE const ValueNode & | YSLib::AccessNode (const ValueNode::Container *, const string &)
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE ValueNode & | YSLib::AccessNode (ValueNode::Container *p_con, const _tKey &name)
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE const ValueNode & | YSLib::AccessNode (const ValueNode::Container *p_con, const _tKey &name)
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE ValueNode & | YSLib::AccessNode (observer_ptr< ValueNode::Container > p_con, const _tKey &name)
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE const ValueNode & | YSLib::AccessNode (observer_ptr< const ValueNode::Container > p_con, const _tKey &name)
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE ValueNode & | YSLib::AccessNode (ValueNode::Container &con, const _tKey &name)
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE const ValueNode & | YSLib::AccessNode (const ValueNode::Container &con, const _tKey &name)
YB_ATTR_nodiscard YF_API YB_PURE ValueNode & | YSLib::AccessNode (ValueNode &, size_t)
YB_ATTR_nodiscard YF_API YB_PURE const ValueNode & | YSLib::AccessNode (const ValueNode &, size_t)
template<typename _tKey , yimpl(typename=ValueNode::enable_if_key_t< _tKey >) >
YB_ATTR_nodiscard YB_PURE ValueNode & | YSLib::AccessNode (ValueNode &node, const _tKey &name)
template<typename _tKey , yimpl(typename=ValueNode::enable_if_key_t< _tKey >) >
YB_ATTR_nodiscard YB_PURE const ValueNode & | YSLib::AccessNode (const ValueNode &node, const _tKey &name)
template<class _tNode , typename _tIn >
YB_ATTR_nodiscard YB_PURE _tNode && | YSLib::AccessNode (_tNode &&node, _tIn first, _tIn last)
template<class _tNode , typename _tRange , yimpl(typename=typename ystdex::enable_if_t< !std::is_constructible< const string &, const _tRange & >::value >) >
YB_ATTR_nodiscard YB_PURE auto | YSLib::AccessNode (_tNode &&node, const _tRange &c) -> decltype(YSLib::AccessNode(yforward(node), begin(c), end(c)))
YB_ATTR_nodiscard YF_API YB_PURE observer_ptr< ValueNode > | YSLib::AccessNodePtr (ValueNode::Container &, const string &) ynothrow
| 访问节点指针。 更多...
YB_ATTR_nodiscard YF_API YB_PURE observer_ptr< const ValueNode > | YSLib::AccessNodePtr (const ValueNode::Container &, const string &) ynothrow
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE observer_ptr< ValueNode > | YSLib::AccessNodePtr (ValueNode::Container &con, const _tKey &name) ynothrow
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE observer_ptr< const ValueNode > | YSLib::AccessNodePtr (const ValueNode::Container &con, const _tKey &name) ynothrow
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE observer_ptr< ValueNode > | YSLib::AccessNodePtr (observer_ptr< ValueNode::Container > p_con, const _tKey &name) ynothrow
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE observer_ptr< const ValueNode > | YSLib::AccessNodePtr (observer_ptr< const ValueNode::Container > p_con, const _tKey &name) ynothrow
YB_ATTR_nodiscard YF_API YB_PURE observer_ptr< ValueNode > | YSLib::AccessNodePtr (ValueNode &, size_t)
YB_ATTR_nodiscard YF_API YB_PURE observer_ptr< const ValueNode > | YSLib::AccessNodePtr (const ValueNode &, size_t)
template<typename _tKey , yimpl(typename=typename ystdex::enable_if_t< ystdex::is_interoperable< const _tKey &, const string & >::value >) >
YB_ATTR_nodiscard YB_PURE observer_ptr< ValueNode > | YSLib::AccessNodePtr (ValueNode &node, const _tKey &name)
template<typename _tKey , yimpl(typename=typename ystdex::enable_if_t< ystdex::is_interoperable< const _tKey &, const string & >::value >) >
YB_ATTR_nodiscard YB_PURE observer_ptr< const ValueNode > | YSLib::AccessNodePtr (const ValueNode &node, const _tKey &name)
template<class _tNode , typename _tIn >
YB_ATTR_nodiscard YB_PURE auto | YSLib::AccessNodePtr (_tNode &&node, _tIn first, _tIn last) -> decltype(make_obsrever(std::addressof(node)))
template<class _tNode , typename _tRange , yimpl(typename=typename ystdex::enable_if_t< !std::is_constructible< const string &, const _tRange & >::value >) >
YB_ATTR_nodiscard YB_PURE auto | YSLib::AccessNodePtr (_tNode &&node, const _tRange &c) -> decltype(YSLib::AccessNodePtr(yforward(node), begin(c), end(c)))
template<typename _type , typename... _tParams>
const _type & | YSLib::AccessChild (const ValueNode &node, _tParams &&... args)
template<typename _type , typename... _tParams>
YB_ATTR_nodiscard YB_PURE observer_ptr< _type > | YSLib::AccessChildPtr (ValueNode &node, _tParams &&... args) ynothrow
| 访问指定名称的子节点的指定类型对象的指针。 更多...
template<typename _type , typename... _tParams>
YB_ATTR_nodiscard YB_PURE observer_ptr< const _type > | YSLib::AccessChildPtr (const ValueNode &node, _tParams &&... args) ynothrow
template<typename _type , typename... _tParams>
YB_ATTR_nodiscard YB_PURE observer_ptr< _type > | YSLib::AccessChildPtr (ValueNode *p_node, _tParams &&... args) ynothrow
template<typename _type , typename... _tParams>
YB_ATTR_nodiscard YB_PURE observer_ptr< const _type > | YSLib::AccessChildPtr (const ValueNode *p_node, _tParams &&... args) ynothrow
YB_ATTR_nodiscard YB_PURE | YSLib::PDefH (const ValueNode &, AsNode, const ValueNode &node) ynothrow ImplRet(node) template< typename _tString
| 传递指定名称和值参数构造值类型节点。 更多...
YB_ATTR_nodiscard YB_PURE typename | YSLib::yimpl (typename=ystdex::enable_if_inconvertible_t< _tString &&, const ValueNode::allocator_type & >)> YB_ATTR_nodiscard YB_PURE inline ValueNode AsNode(_tString &&str
template<typename _tString , typename... _tParams>
YB_ATTR_nodiscard YB_PURE ValueNode | YSLib::AsNode (const ValueNode::allocator_type &a, _tString &&str, _tParams &&... args)
template<typename _tString , typename... _tParams, yimpl(typename=ystdex::enable_if_inconvertible_t< _tString &&, const ValueNode::allocator_type & >) >
YB_ATTR_nodiscard YB_PURE ValueNode | YSLib::MakeNode (_tString &&str, _tParams &&... args)
| 传递指定名称和退化值参数构造值类型节点。 更多...
template<typename _tString , typename... _tParams>
YB_ATTR_nodiscard YB_PURE ValueNode | YSLib::MakeNode (const ValueNode::allocator_type &a, _tString &&str, _tParams &&... args)
template<typename _tString , typename... _tParams, yimpl(typename=ystdex::enable_if_inconvertible_t< _tString &&, const ValueNode::allocator_type & >) >
YB_ATTR_nodiscard YB_PURE ValueNode | YSLib::StringifyToNode (_tString &&str, _tParams &&... args)
| 取指定名称和转换为字符串的值类型节点。 更多...
template<typename _tString , typename... _tParams>
YB_ATTR_nodiscard YB_PURE ValueNode | YSLib::StringifyToNode (const ValueNode::allocator_type &a, _tString &&str, _tParams &&... args)
YB_ATTR_nodiscard YB_PURE | YSLib::PDefH (const ValueNode &, UnpackToNode, const ValueNode &arg) ImplRet(arg) YB_ATTR_nodiscard YB_PURE inline PDefH(ValueNode &&
| 从引用参数取值类型节点：返回自身。 更多...
YB_ATTR_nodiscard YB_PURE ValueNode &&arg | YSLib::ImplRet (std::move(arg)) template< class _tPack > YB_ATTR_nodiscard YB_PURE inline ValueNode UnpackToNode(_tPack &&pk)
| 从参数取以指定分量为初始化参数的值类型节点。 更多...
template<typename _tElem >
YB_ATTR_nodiscard YB_PURE ValueNode::Container | YSLib::CollectNodes (std::initializer_list< _tElem > il)
| 取指定值类型节点为成员的节点容器。 更多...
template<typename... _tParams>
YB_ATTR_nodiscard YB_PURE ValueNode::Container | YSLib::CollectNodes (_tParams &&... args)
template<typename _tString , typename... _tParams>
YB_ATTR_nodiscard YB_PURE ValueNode | YSLib::PackNodes (_tString &&name, _tParams &&... args)
| 取以指定分量为参数对应初始化得到的值类型节点为子节点的值类型节点。 更多...
YF_API void | YSLib::RemoveEmptyChildren (ValueNode::Container &) ynothrow
| 移除空子节点。 更多...
YF_API void | YSLib::RemoveHead (ValueNode::Container &) ynothrowv
| 移除第一个子节点。 更多...
| YSLib::PDefH (void, RemoveHead, ValueNode &node) ynothrowv ImplExpr(RemoveHead(node.GetContainerRef())) template< typename _tNode
| 根据节点和节点容器创建操作设置目标节点的值或子节点。 更多...
_fCallable void | YSLib::SetContentWith (ValueNode &dst, _tNode &&node, _fCallable f)
YB_ATTR_nodiscard YF_API YB_PURE bool | YSLib::IsPrefixedIndex (string_view, char='$')
| 判断字符串是否是前缀索引：一个指定字符和非负整数的组合。 更多...
YB_ATTR_nodiscard YF_API YB_PURE string | YSLib::MakeIndex (size_t)
| 转换节点大小为新的节点索引值。 更多...
YB_ATTR_nodiscard YF_API size_t | YSLib::DecodeIndex (string_view)
| 解码节点名称的前缀索引。 更多...

## 变量

yconstexpr const struct YSLib::ListContainerTag | YSLib::ListContainer
yconstexpr const struct YSLib::NoContainerTag | YSLib::NoContainer
YB_ATTR_nodiscard YB_PURE typename | YSLib::_tParams
YB_ATTR_nodiscard YB_PURE typename _tParams && | YSLib::args
YB_ATTR_nodiscard YB_PURE | YSLib::UnpackToNode

## 详细描述

值类型节点。

版本
  r4142

作者
  FrankHB frank.nosp@m.hb19.nosp@m.89@gm.nosp@m.ail..nosp@m.com

自从
  build 338

创建时间:
  2012-08-03 23:03:44 +0800

修改时间:
  2020-08-30 19:37 +0800

文本编码:
  UTF-8

模块名称:
  YSLib::Core::ValueNode

在文件 ValueNode.h 中定义.