YSTest: YSLib 命名空间参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

命名空间 | 类 | 类型定义 | 函数 | 变量
YSLib 命名空间参考

YSLib 命名空间。 更多...

## 命名空间

| Consoles
| 控制台接口。
| Devices
| Drawing
| 图形处理。
| DS
| IO
| Messaging
| Shells
| Text
| Timers
| 计时器和时钟。
| UI

## 类

struct | AllocatedHolderOperations
| 带有分配器的持有者操作。 更多...
class | AllocatorHolder
| 在复制初始化时传播分配器的值持有者。 更多...
class | Application
| 程序实例。 更多...
class | ArgumentsVector
| 参数字符串向量。 更多...
struct | CountedHandlerInvoker
| 计数调用器：调用事件处理器并计数。 更多...
class | DebugTimer
| 调试计时器。 更多...
class | Environment
| 应用程序环境。 更多...
class | FatalError
| 致命错误。 更多...
class | FPSCounter
| 帧速率计数器。 更多...
class | GAccessList
| 访问列表。 更多...
struct | GCombinerInvoker
| 结果组合调用器。 更多...
class | GEvent
| 事件模板。 更多...
class | GEvent< _tRet(_tParams...), _tInvoker >
struct | GHandlerRegisterBase
| 注册处理器抽象模板：供派生类加载一个或多个键和指定类型关联的例程。 更多...
class | GHEvent
| 标准事件处理器模板。 更多...
class | GHEvent< _tRet(_tParams...)>
class | GLocalStaticCache
| 全局局部静态单态存储器。 更多...
class | GMCounter
| 模板类实例计数器。 更多...
class | GMRange
| 判断是否持有相同对象。 更多...
class | GRecursiveCallContext
| 递归调用上下文。 更多...
class | GShellSession
| Shell 连接会话。 更多...
class | GStaticCache
| 全局静态单态存储器。 更多...
class | GUIApplication
| 平台相关的应用程序类。 更多...
class | GUIHost
| GUI 宿主。 更多...
struct | HasOwnershipOf
| 标签类型元运算。 更多...
struct | HeldEqual
| 判断动态泛型的持有值是否相等。 更多...
struct | HeldEqual< pair< _type1, _type2 >, pair< _type3, _type4 > >
struct | HeldEqual< weak_ptr< _type1 >, weak_ptr< _type2 > >
struct | HolderOperations
| 持有者操作。 更多...
struct | IsValueHolder
struct | IsValueHolder< ValueHolder< _type > >
struct | ListContainerTag
| 标记列表构造容器。 更多...
class | LoggedEvent
| 记录日志的异常事件类。 更多...
class | MIMEBiMapping
| MIME 和文件扩展名双向映射。 更多...
struct | MoveTag
| 指示转移的标记。 更多...
struct | NoContainerTag
| 标记不使用容器。 更多...
class | NodeLiteral
| 包装节点的组合字面量。 更多...
struct | OwnershipTag
| 指定对参数指定类型的成员具有所有权的标签。 更多...
class | PointerHolder
| 带等于接口的指针类型动态泛型持有者。 更多...
struct | PointerHolderTraits
| 指针持有者特征。 更多...
struct | PointerTag
| 指示指针的标记。 更多...
class | PolymorphicAllocatorHolder
| 在复制初始化时传播分配器的多态值持有者。 更多...
class | PolymorphicValueHolder
| 带等于接口的值类型多态动态泛型持有者。 更多...
class | RefHolder
| 带等于接口的引用动态泛型持有者。 更多...
class | ValueHolder
| 带等于接口的值类型动态泛型持有者。 更多...
class | ValueNode
| 值类型节点。 更多...
class | ValueObject
| 值类型对象类。 更多...

## 类型定义

using | NodeSequence = yimpl(YSLib::vector)< ValueNode >
| 节点序列容器。 更多...
using | CommandCache = unordered_map< string, string >
| 命令和命令执行结果的缓冲区类型。 更多...
using | EventPriority = std::uint8_t
| 事件优先级。 更多...
template<typename _type >
using | GDefaultLastValueInvoker = GCombinerInvoker< _type, ystdex::default_last_value< _type > >
| 默认结果组合调用器。 更多...
template<typename _type >
using | GOptionalLastValueInvoker = GCombinerInvoker< ystdex::cond_t< std::is_void< _type >, void, ystdex::optional< _type > >, ystdex::optional_last_value< _type > >
| 可选结果组合调用器。 更多...
using | GeneralEvent = std::runtime_error
| 一般运行时异常事件类。 更多...
using | ExtractedLevelPrinter = function< void(const char *, size_t)>
| 打印带有层次信息的函数类型。 更多...
template<typename _type >
using | GLevelTracer = function< void(_type, RecordLevel)>
using | ExceptionTracer = GLevelTracer< const std::exception & >
template<typename _type , class _tMutex = typename unlock_delete<>::mutex_type, class _tLock = typename unlock_delete<_tMutex>::lock_type>
using | locked_ptr = unique_ptr< _type, unlock_delete< _tMutex, _tLock > >
| 独占所有权的锁定指针：使用线程模型对应的互斥量和锁以及 unique_ptr 。 更多...
using | ResourceIndex = decltype(__LINE__)
using | ResourceMap = map< ResourceIndex, ValueObject >

## 函数

YF_API | yimpl (GUIApplication &) FetchGlobalInstance()
| 取全局应用程序实例。 更多...
template<class _tApp >
_tApp & | FetchGlobalInstance ()
YF_API locked_ptr< yimpl(GUIApplication), recursive_mutex > | LockInstance ()
| 锁定实例。 更多...
| PDefH (Environment &, FetchEnvironment,) ImplRet(FetchGlobalInstance().GetEnvironmentRef()) inline PDefH(GUIHost &
| 取单一环境对象引用。 更多...
| ImplRet (FetchGlobalInstance().GetGUIHostRef()) YF_API void Execute(GUIApplication &
| 执行程序主消息循环。 更多...
YF_API void | TraceForOutermost (const std::exception &, RecordLevel) ynothrow
| 处理最外层边界的异常，若捕获致命错误则在之后终止程序。 更多...
YB_ATTR_nodiscard YF_API YB_PURE bool | CheckLocalFHSLayout (const string &)
| 判断指定程序映像的路径字符串指示的位置是否符合局部 FHS 目录布局。 更多...
YB_ATTR_nodiscard YF_API YB_PURE const IO::Path & | FetchLocalFHSRootPath ()
| 取根路径字符串对应的局部 FHS 根路径。 更多...
YB_ATTR_nodiscard YF_API YB_PURE const string & | FetchRootPathString ()
| 取框架根路径字符串。 更多...
YB_ATTR_nodiscard YF_API YB_PURE IO::Path | GetLocalFHSRootPathOf (const string &)
| 取指定程序映像的路径字符串对应的局部 fHS 根路径。 更多...
YB_ATTR_nodiscard YF_API | YB_NONNULL (1, 2) ValueNode LoadNPLA1File(const char *disp
| 载入 NPLA1 配置文件。 更多...
YF_API void | LoadComponents (Application &, const ValueNode &)
| 初始化应用程序组件。 更多...
YF_API ValueNode | LoadConfiguration (bool={})
| 载入默认配置。 更多...
YF_API void | SaveConfiguration (const ValueNode &)
| 保存默认配置。 更多...
YF_API void | InitializeSystemFontCache (Drawing::FontCache &, const string &, const string &)
| 初始化系统字体缓存。 更多...
YF_API ValueNode & | FetchRoot () ynothrow
| 取值类型根节点。 更多...
YF_API Drawing::FontCache & | FetchDefaultFontCache ()
| 取默认字体缓存。 更多...
YF_API MIMEBiMapping & | FetchMIMEBiMapping ()
| 取 MIME 类型名和文件扩展名双向映射对象。 更多...
template<class _tShell >
_tShell & | FetchShell ()
| 取指定 Shell 句柄对应的 Shell 引用 。 更多...
| PDefH (bool, IsNowShell, const shared_ptr< Shell > &hShl) ImplRet(FetchAppInstance().GetShellHandle()
| 判断句柄指定的 Shell 是否为当前线程空间中运行的 Shell 。 更多...
yconstexpr const char *const | DefaultTimeFormat ("%04u-%02u-%02u %02u:%02u:%02u")
| 默认时间格式字符串。 更多...
YF_API YB_ATTR_returns_nonnull const char * | TranslateTime (const std::tm &, const char *=DefaultTimeFormat)
| 格式化时间字符串。 更多...
YF_API YB_ATTR_returns_nonnull const char * | TranslateTime (const std::time_t &, const char *=DefaultTimeFormat)
YF_API shared_ptr< UI::TextList::ListType > | FetchFontFamilyNames ()
| 取字型家族名称。 更多...
template<typename _fCallable >
void | PostTask (_fCallable &&f, Messaging::Priority prior=Messaging::NormalPriority)
| 通过消息队列部署后任务。 更多...
template<typename _type >
YB_ATTR_nodiscard YB_PURE const _type & | Access (const ValueNode &node)
template<typename _type >
YB_ATTR_nodiscard YB_PURE observer_ptr< _type > | AccessPtr (ValueNode &node) ynothrow
| 访问节点的指定类型对象指针。 更多...
template<typename _type >
YB_ATTR_nodiscard YB_PURE observer_ptr< const _type > | AccessPtr (const ValueNode &node) ynothrow
template<typename _type , typename _tNodeOrPointer >
YB_ATTR_nodiscard YB_PURE auto | AccessPtr (observer_ptr< _tNodeOrPointer > p) ynothrow -> decltype(YSLib::AccessPtr< _type >(*p))
| 访问节点的指定类型对象指针。 更多...
YB_ATTR_nodiscard YF_API YB_PURE ValueObject | GetValueOf (observer_ptr< const ValueNode >)
| 取指定名称指称的值。 更多...
YB_ATTR_nodiscard YF_API YB_PURE observer_ptr< const ValueObject > | GetValuePtrOf (observer_ptr< const ValueNode >)
| 取指定名称指称的值的指针。 更多...
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE observer_ptr< ValueNode > | AccessNodePtr (ValueNode::Container *, const _tKey &) ynothrow
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE observer_ptr< const ValueNode > | AccessNodePtr (const ValueNode::Container *, const _tKey &) ynothrow
YB_ATTR_nodiscard YF_API YB_PURE ValueNode & | AccessNode (ValueNode::Container *, const string &)
| 访问节点。 更多...
YB_ATTR_nodiscard YF_API YB_PURE const ValueNode & | AccessNode (const ValueNode::Container *, const string &)
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE ValueNode & | AccessNode (ValueNode::Container *p_con, const _tKey &name)
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE const ValueNode & | AccessNode (const ValueNode::Container *p_con, const _tKey &name)
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE ValueNode & | AccessNode (observer_ptr< ValueNode::Container > p_con, const _tKey &name)
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE const ValueNode & | AccessNode (observer_ptr< const ValueNode::Container > p_con, const _tKey &name)
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE ValueNode & | AccessNode (ValueNode::Container &con, const _tKey &name)
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE const ValueNode & | AccessNode (const ValueNode::Container &con, const _tKey &name)
YB_ATTR_nodiscard YF_API YB_PURE ValueNode & | AccessNode (ValueNode &, size_t)
YB_ATTR_nodiscard YF_API YB_PURE const ValueNode & | AccessNode (const ValueNode &, size_t)
template<typename _tKey , yimpl(typename=ValueNode::enable_if_key_t< _tKey >) >
YB_ATTR_nodiscard YB_PURE ValueNode & | AccessNode (ValueNode &node, const _tKey &name)
template<typename _tKey , yimpl(typename=ValueNode::enable_if_key_t< _tKey >) >
YB_ATTR_nodiscard YB_PURE const ValueNode & | AccessNode (const ValueNode &node, const _tKey &name)
template<class _tNode , typename _tIn >
YB_ATTR_nodiscard YB_PURE _tNode && | 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 | 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 > | AccessNodePtr (ValueNode::Container &, const string &) ynothrow
| 访问节点指针。 更多...
YB_ATTR_nodiscard YF_API YB_PURE observer_ptr< const ValueNode > | AccessNodePtr (const ValueNode::Container &, const string &) ynothrow
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE observer_ptr< ValueNode > | AccessNodePtr (ValueNode::Container &con, const _tKey &name) ynothrow
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE observer_ptr< const ValueNode > | AccessNodePtr (const ValueNode::Container &con, const _tKey &name) ynothrow
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE observer_ptr< ValueNode > | AccessNodePtr (observer_ptr< ValueNode::Container > p_con, const _tKey &name) ynothrow
template<typename _tKey >
YB_ATTR_nodiscard YB_PURE observer_ptr< const ValueNode > | AccessNodePtr (observer_ptr< const ValueNode::Container > p_con, const _tKey &name) ynothrow
YB_ATTR_nodiscard YF_API YB_PURE observer_ptr< ValueNode > | AccessNodePtr (ValueNode &, size_t)
YB_ATTR_nodiscard YF_API YB_PURE observer_ptr< const ValueNode > | 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 > | 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 > | AccessNodePtr (const ValueNode &node, const _tKey &name)
template<class _tNode , typename _tIn >
YB_ATTR_nodiscard YB_PURE auto | 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 | AccessNodePtr (_tNode &&node, const _tRange &c) -> decltype(YSLib::AccessNodePtr(yforward(node), begin(c), end(c)))
template<typename _type , typename... _tParams>
const _type & | AccessChild (const ValueNode &node, _tParams &&... args)
template<typename _type , typename... _tParams>
YB_ATTR_nodiscard YB_PURE observer_ptr< _type > | AccessChildPtr (ValueNode &node, _tParams &&... args) ynothrow
| 访问指定名称的子节点的指定类型对象的指针。 更多...
template<typename _type , typename... _tParams>
YB_ATTR_nodiscard YB_PURE observer_ptr< const _type > | AccessChildPtr (const ValueNode &node, _tParams &&... args) ynothrow
template<typename _type , typename... _tParams>
YB_ATTR_nodiscard YB_PURE observer_ptr< _type > | AccessChildPtr (ValueNode *p_node, _tParams &&... args) ynothrow
template<typename _type , typename... _tParams>
YB_ATTR_nodiscard YB_PURE observer_ptr< const _type > | AccessChildPtr (const ValueNode *p_node, _tParams &&... args) ynothrow
YB_ATTR_nodiscard YB_PURE | PDefH (const ValueNode &, AsNode, const ValueNode &node) ynothrow ImplRet(node) template< typename _tString
| 传递指定名称和值参数构造值类型节点。 更多...
YB_ATTR_nodiscard YB_PURE typename | 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 | 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 | MakeNode (_tString &&str, _tParams &&... args)
| 传递指定名称和退化值参数构造值类型节点。 更多...
template<typename _tString , typename... _tParams>
YB_ATTR_nodiscard YB_PURE ValueNode | 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 | StringifyToNode (_tString &&str, _tParams &&... args)
| 取指定名称和转换为字符串的值类型节点。 更多...
template<typename _tString , typename... _tParams>
YB_ATTR_nodiscard YB_PURE ValueNode | StringifyToNode (const ValueNode::allocator_type &a, _tString &&str, _tParams &&... args)
YB_ATTR_nodiscard YB_PURE | PDefH (const ValueNode &, UnpackToNode, const ValueNode &arg) ImplRet(arg) YB_ATTR_nodiscard YB_PURE inline PDefH(ValueNode &&
| 从引用参数取值类型节点：返回自身。 更多...
YB_ATTR_nodiscard YB_PURE ValueNode &&arg | 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 | CollectNodes (std::initializer_list< _tElem > il)
| 取指定值类型节点为成员的节点容器。 更多...
template<typename... _tParams>
YB_ATTR_nodiscard YB_PURE ValueNode::Container | CollectNodes (_tParams &&... args)
template<typename _tString , typename... _tParams>
YB_ATTR_nodiscard YB_PURE ValueNode | PackNodes (_tString &&name, _tParams &&... args)
| 取以指定分量为参数对应初始化得到的值类型节点为子节点的值类型节点。 更多...
YF_API void | RemoveEmptyChildren (ValueNode::Container &) ynothrow
| 移除空子节点。 更多...
YF_API void | RemoveHead (ValueNode::Container &) ynothrowv
| 移除第一个子节点。 更多...
| PDefH (void, RemoveHead, ValueNode &node) ynothrowv ImplExpr(RemoveHead(node.GetContainerRef())) template< typename _tNode
| 根据节点和节点容器创建操作设置目标节点的值或子节点。 更多...
_fCallable void | SetContentWith (ValueNode &dst, _tNode &&node, _fCallable f)
YB_ATTR_nodiscard YF_API YB_PURE bool | IsPrefixedIndex (string_view, char='$')
| 判断字符串是否是前缀索引：一个指定字符和非负整数的组合。 更多...
YB_ATTR_nodiscard YF_API YB_PURE string | MakeIndex (size_t)
| 转换节点大小为新的节点索引值。 更多...
YB_ATTR_nodiscard YF_API size_t | DecodeIndex (string_view)
| 解码节点名称的前缀索引。 更多...
YF_API Application & | FetchAppInstance ()
| 取应用程序实例。 更多...
| PDefH (shared_ptr< Shell >, FetchShellHandle,) ynothrow ImplRet(FetchAppInstance().GetShellHandle()) inline PDefH(bool
| 取当前应用程序线程空间中活动的 Shell 句柄。 更多...
const shared_ptr< Shell > &hShl ImplRet(FetchAppInstance().Switch(shared_ptr< Shell >(hShl))) yconstexpr const Messaging YF_API void | PostMessage (const Message &, Messaging::Priority)
| 默认退出消息优先级。 更多...
| PDefH (void, PostMessage, Messaging::ID id, Messaging::Priority prior, const ValueObject &vo={}) ImplRet(PostMessage(Message(id
prior | PDefH (void, PostMessage, Messaging::ID id, Messaging::Priority prior, ValueObject &&c) ImplRet(PostMessage(Message(id
template<Messaging::MessageID _vID>
prior prior void | PostMessage (Messaging::Priority prior, const typename Messaging::SMessageMap< _vID >::TargetType &target)
YF_API void | PostQuitMessage (int=0, Messaging::Priority p=DefaultQuitPriority)
| 以指定错误码和优先级发起 Shell 终止请求。 更多...
template<typename _type >
YB_STATELESS yconstfn std::int_fast8_t | FetchSign (_type a, _type b=_type(0)) ynothrow
| 符号函数。 更多...
template<typename _type >
YB_STATELESS yconstfn std::int_fast8_t | FetchSignFromInterval (_type d, _type a, _type b) ynothrow
| 判断 d 和以 [a, b](a ≤ b) 或 [b, a](a > b) 区间的关系。 更多...
template<typename _type >
YB_STATELESS yconstfn _type | HalfDifference (_type x, _type y)
| 计算指定类型的差值的一半。 更多...
template<typename _type >
YB_STATELESS bool | IsInInterval (_type i, _type b) ynothrow
| 判断 i 是否在左闭右开区间 [_type(0), b) 中。 更多...
template<typename _type >
YB_STATELESS bool | IsInInterval (_type i, _type a, _type b) ynothrow
| 判断 i 是否在左闭右开区间 [a, b) 中。 更多...
template<typename _type >
YB_STATELESS bool | IsInClosedInterval (_type i, _type b) ynothrow
| 判断 i 是否在闭区间 [_type(0), b] 中。 更多...
template<typename _type >
YB_STATELESS bool | IsInClosedInterval (_type i, _type a, _type b) ynothrow
| 判断 i 是否在闭区间 [a, b] 中。 更多...
template<typename _type >
YB_STATELESS bool | IsInOpenInterval (_type i, _type b) ynothrow
| 判断 i 是否在开区间 (_type(0), b) 内。 更多...
template<typename _type >
YB_STATELESS bool | IsInOpenInterval (_type i, _type a, _type b) ynothrow
| 判断 i 是否在开区间 (a, b) 内。 更多...
template<typename _type >
YB_PURE | YB_NONNULL (2) size_t SwitchInterval(_type v
| 计算满足指定的值 v 在区间 [`a`[i], `a[i + 1]`) 内最小的 i 。 更多...
| YAssert (!(v< Deref(a)), "Value less than lower bound found.")
size_t | i (0)
| while (!(++i==n||v< a[i]))
| while (!(++i==n||v<(s+=a[i])))
template<typename _type >
void | RestrictInClosedInterval (_type &v, const _type &a, const _type &b) ynothrow
| 约束 v 在闭区间 [a, b] 中。 更多...
template<typename _type >
void | RestrictInInterval (_type &i, const _type &a, const _type &b) ynothrow
| 约束整数 i 在左闭右开区间 [a, b) 中。 更多...
template<typename _type >
void | RestrictUnsignedStrict (_type &u, _type b) ynothrow
| 约束无符号整数 u 在区间上界 b 内。 更多...
template<typename _type >
void | RestrictUnsigned (_type &u, unsigned b) ynothrow
| 约束无符号整数 u 在左闭右开区间 [0, b) 中。 更多...
template<typename _type >
void | RestrictLessEqual (_type &a, _type &b) ynothrow
| 约束关系：a ≤ b 。 更多...
template<typename _tDst , typename _type >
_tDst | CheckLowerBound (_type val, const string &name={}, RecordLevel lv=Err)
| 检查算术类型数值不小于指定类型的下界。 更多...
template<typename _tDst , typename _type >
_tDst | CheckUpperBound (_type val, const string &name={}, RecordLevel lv=Err)
| 检查算术类型数值不大于指定类型的上界。 更多...
template<typename _tDst , typename _type >
_tDst | CheckArithmetic (_type val, const string &name={}, RecordLevel lv=Err)
| 检查算术类型数值在指定类型的范围内。 更多...
template<typename _tDst , typename _type >
_tDst | CheckNonnegative (_type val, const string &name={}, RecordLevel lv=Err)
| 检查非负算术类型数值在指定类型的范围内。 更多...
template<typename _tDst , typename _type >
_tDst | CheckPositive (_type val, const string &name={}, RecordLevel lv=Err)
| 检查正算术类型数值在指定类型的范围内。 更多...
template<typename _tOut >
void | ClearSequence (_tOut dst, size_t n) ynothrowv
| 清除指定的连续对象。 更多...
YF_API void | PerformKeyAction (function< void()>, const char *, const char *, string_view)
| 执行关键动作。 更多...
YF_API | YB_NONNULL (2) bool FetchEnvironmentVariable(string &
| 查询第二参数指定名称的环境变量写入第一参数。 更多...
YF_API const char *yconstexpr const size_t | DefaultCommandBufferSize (yimpl(4096))
| 默认命令缓冲区大小。 更多...
YF_API | YB_NONNULL (1) pair< string
| 取命令在标准输出上的执行结果。 更多...
YF_API int | FetchCommandOutput (const char *, size_t=DefaultCommandBufferSize)
YF_API locked_ptr< CommandCache > | LockCommandCache ()
| 锁定命令执行缓冲区。 更多...
YF_API const string & | FetchCachedCommandResult (string_view, size_t=DefaultCommandBufferSize)
| 取缓冲的命令执行结果。 更多...
yconstexpr const EventPriority | DefaultEventPriority (0x80)
| 默认事件优先级。 更多...
template<typename _tRet , typename... _tParams>
GEvent< _tRet(_tParams...)> & | AddUnique (GEvent< _tRet(_tParams...)> &evt, const typename GEvent< _tRet(_tParams...)>::HandlerType &h, EventPriority prior=DefaultEventPriority)
| 添加单一事件响应：删除后添加。 更多...
template<typename _tRet , typename... _tParams>
GEvent< _tRet(_tParams...)> & | AddUnique (GEvent< _tRet(_tParams...)> &evt, typename GEvent< _tRet(_tParams...)> ::HandlerType &&h, EventPriority prior=DefaultEventPriority)
template<typename _type , typename _tRet , typename... _tParams>
GEvent< _tRet(_tParams...)> & | AddUnique (GEvent< _tRet(_tParams...)> &evt, _type &&arg, EventPriority prior=DefaultEventPriority)
template<class _type , typename _tRet , typename... _tParams>
GEvent< _tRet(_tParams...)> & | AddUnique (GEvent< _tRet(_tParams...)> &evt, _type &obj, _tRet(_type::*pm)(_tParams...), EventPriority prior=DefaultEventPriority)
YF_API void | TraceExceptionType (const std::exception &, RecordLevel=Err) ynothrow
| 通过 YF_TraceRaw 跟踪记录异常类型。 更多...
YF_API void | ExtractAndTrace (const std::exception &, RecordLevel=Err) ynothrow
| 使用 TraceException 展开和跟踪异常类型和信息。 更多...
YF_API void | ExtractException (const ExtractedLevelPrinter &, const std::exception &, size_t=0) ynothrow
| 展开指定层次的异常并使用指定参数记录。 更多...
YF_API bool | TryExecute (function< void()>, const char *={}, RecordLevel=Alert, ExceptionTracer=ExtractAndTrace)
| 执行并尝试记录异常。 更多...
template<typename _fCallable , typename... _tParams>
ystdex::nonvoid_result_t< ystdex::invoke_result_t< _fCallable, _tParams... > > | TryInvoke (_fCallable &&f, _tParams &&... args) ynothrow
| 调用函数并尝试返回。 更多...
template<typename _func >
bool | FilterExceptions (_func f, const char *desc={}, RecordLevel lv=Alert, ExceptionTracer trace=ExtractAndTrace) ynothrow
| 调用函数并过滤宿主异常。 更多...
| DeclDerivedI (YF_API, IValueHolder, any_ops::holder) enum Creation
| 带等于接口的动态泛型持有者接口。 更多...
YB_ATTR_nodiscard | DeclIEntry (any Create(Creation, const any &) const) YB_ATTR_nodiscard YB_PURE DeclIEntry(bool Equals(const void *) const) YB_ATTR_nodiscard YB_PURE DeclIEntry(size_t OwnsCount() const ynothrow) YB_ATTR_nodiscard YB_PURE DeclIEntry(any Query(uintmax_t) const) template< typename _type > YB_ATTR_nodiscard static any CreateHolder(Creation
| 创建新的持有者。 更多...
template<typename _type1 , typename _type2 >
YB_ATTR_nodiscard YB_PURE yconstfn bool | AreEqualHeld (const _type1 &x, const _type2 &y)
| 判断动态泛型的持有值是否相等。 更多...
template<typename _type >
YB_ATTR_nodiscard YB_PURE yconstfn bool | IsNullPointer (const _type &p) ynothrow
| 判断指针值是否为有效的空值。 更多...
template<typename _type >
YB_ATTR_nodiscard YB_PURE bool | IsNullPointer (const weak_ptr< _type > &p) ynothrow
template<typename _type >
YB_ATTR_nodiscard YB_PURE yconstfn auto | GetRawPtrOf (const _type &p) ynothrow -> decltype(get_raw(p))
| 取内建指针。 更多...
template<typename _type >
YB_ATTR_nodiscard YB_PURE yconstfn _type * | GetRawPtrOf (const weak_ptr< _type > &p)
template<typename _type >
YB_ATTR_nodiscard YB_PURE observer_ptr< const _type > | AccessPtr (const ValueObject &vo) ynothrow
template<typename _type , typename... _tParams>
void | EmplaceCallResult (ValueObject &, _type &&, ystdex::false_, _tParams &&...) ynothrow
| 以指定参数按需构造替换值。 更多...
template<typename _type >
void | EmplaceCallResult (ValueObject &vo, _type &&res, ystdex::true_, ystdex::true_) ynoexcept_spec(vo
void class _tAlloc inline void | EmplaceCallResult (ValueObject &vo, _type &&res, ystdex::true_, ystdex::true_, const _tAlloc &) ynoexcept_spec(vo
void class _tAlloc inline void class _tAlloc inline void | EmplaceCallResult (ValueObject &vo, _type &&res, ystdex::true_, ystdex::false_, const _tAlloc &a)
template<typename _type >
void | EmplaceCallResult (ValueObject &vo, _type &&res, ystdex::true_, ystdex::false_)
template<typename _type >
void | EmplaceCallResult (ValueObject &vo, _type &&res, ystdex::true_)
template<typename _type , class _tAlloc >
void | EmplaceCallResult (ValueObject &vo, _type &&res, ystdex::true_, const _tAlloc &a)
template<typename _type >
void | EmplaceCallResult (ValueObject &vo, _type &&res)
template<typename _type , class _tAlloc >
void | EmplaceCallResult (ValueObject &vo, _type &&res, const _tAlloc &a)
template<typename _type , typename... _tParams>
YB_ATTR_nodiscard _type & | EmplaceIfEmpty (ValueObject &vo, _tParams &&... args)
template<typename _type >
bool | reset (_type *&p) ynothrow
template<typename _type >
bool | operator== (const shared_ptr< _type > &sp, _type *p)
| 比较： shared_ptr 和内建指针类型的相等关系。 更多...
template<typename _type1 , typename _type2 >
bool | operator== (const weak_ptr< _type1 > &x, const weak_ptr< _type2 > &y)
| 比较： weak_ptr 相等关系。 更多...
template<typename _type >
bool | operator!= (const shared_ptr< _type > &sp, _type *p)
| 比较： shared_ptr 左值和内建指针类型的不等关系。 更多...
template<typename _type1 , typename _type2 >
bool | operator!= (const weak_ptr< _type1 > &x, const weak_ptr< _type2 > &y)
| 比较： weak_ptr 不等关系。 更多...
template<typename _type >
_type | FetchInstance ()
| 取指定类型的无参数构造的对象。 更多...
template<typename _type >
_type & | FetchStaticRef ()
| 取指定类型的静态默认对象。 更多...
template<typename _type >
const _type & | FetchPrototype ()
| 取指定类型的静态原型对象。 更多...
YF_API void | AddMIMEItems (MIMEBiMapping &, const ValueNode &, MIMEBiMapping::MIMEType &&={})
| 根据 NPLA1 节点内容增加 MIME 映射。 更多...
| DeclI (YF_API, IResource) EndDecl namespace Drawing
| 资源接口。 更多...
void | Execute (GUIApplication &app, shared_ptr< Shell > p_shl)
bool | CheckLocalFHSLayout (const string &path_string)
IO::Path | GetLocalFHSRootPathOf (const string &path_string)
ValueNode | LoadNPLA1File (const char *disp, const char *path, ValueNode(*creator)(), bool show_info)
void | InitializeSystemFontCache (FontCache &fc, const string &font_file, const string &font_dir)
void | RemoveGlobalTasks ()
void | swap (ValueNode &x, ValueNode &y) ynothrowv
locked_ptr< ArgumentsVector, recursive_mutex > | LockCommandArguments ()
bool | FetchEnvironmentVariable (string &res, const char *var)
| ImplDeDtor (LoggedEvent) FatalError
| ImplDeDtor (FatalError) void PrintCriticalFor(const ExtractedLevelPrinter &print
| ImplDeDtor (IValueHolder) namespace
| ImplDeDtor (IResource) namespace Drawing

## 变量

| FetchGUIHost
| shared_ptr< Shell > = make_shared<Shells::GUIShell>())
YB_ATTR_nodiscard YF_API const char * | path
YB_ATTR_nodiscard YF_API const char ValueNode(* | creator )()
YB_ATTR_nodiscard YF_API const char ValueNode(*) boo | show_info ) = {})
yconstexpr const struct YSLib::ListContainerTag | ListContainer
yconstexpr const struct YSLib::NoContainerTag | NoContainer
YB_ATTR_nodiscard YB_PURE typename | _tParams
YB_ATTR_nodiscard YB_PURE typename _tParams && | args
YB_ATTR_nodiscard YB_PURE | UnpackToNode
| Activate
| vo
YB_PURE const _type * | a
YB_PURE const _type size_t n | ynothrow
return | i
YF_API const char | RecordLevel = Err
YF_API const char | size_t = 0) ynothrow
YF_API size_t | level = 0) ynothrow
const char * | str
const char RecordLevel | lv

## 详细描述

YSLib 命名空间。

自从
  早于 build 132

## 类型定义说明

## ◆ CommandCache

using YSLib::CommandCache = typedef unordered_map<string, string>

命令和命令执行结果的缓冲区类型。

在文件 YCoreUtilities.h 第 447 行定义.

## ◆ EventPriority

using YSLib::EventPriority = typedef std::uint8_t

事件优先级。

自从
  build 294

在文件 YEvent.hpp 第 396 行定义.

## ◆ ExceptionTracer

using YSLib::ExceptionTracer = typedef GLevelTracer<const std::exception&>

在文件 YException.h 第 133 行定义.

## ◆ ExtractedLevelPrinter

using YSLib::ExtractedLevelPrinter = typedef function<void(const char*, size_t)>

打印带有层次信息的函数类型。

自从
  build 624

注解
  约定第一参数非空。

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

## ◆ GDefaultLastValueInvoker

template<typename _type >

using YSLib::GDefaultLastValueInvoker = typedef GCombinerInvoker<_type, ystdex::default_last_value<_type> >

默认结果组合调用器。

在文件 YEvent.hpp 第 472 行定义.

## ◆ GLevelTracer

template<typename _type >

using YSLib::GLevelTracer = typedef function<void(_type, RecordLevel)>

在文件 YException.h 第 132 行定义.

## ◆ GOptionalLastValueInvoker

template<typename _type >

using YSLib::GOptionalLastValueInvoker = typedef GCombinerInvoker<ystdex::cond_t<std::is_void< _type>, void, ystdex::optional<_type> >, ystdex::optional_last_value<_type> >

可选结果组合调用器。

在文件 YEvent.hpp 第 477 行定义.

## ◆ locked_ptr

template<typename _type , class _tMutex = typename unlock_delete<>::mutex_type, class _tLock = typename unlock_delete<_tMutex>::lock_type>

using YSLib::locked_ptr = typedef unique_ptr<_type, unlock_delete<_tMutex, _tLock> >

独占所有权的锁定指针：使用线程模型对应的互斥量和锁以及 unique_ptr 。

参见
  ystdex::threading::locked_ptr

自从
  build 551

在文件 YShellDefinition.h 第 108 行定义.

## ◆ NodeSequence

using YSLib::NodeSequence = typedef yimpl(YSLib::vector)<ValueNode>

节点序列容器。

自从
  build 597

除分配器外满足和 std::vector 相同的要求的模板的一个实例，元素为 ValueNode 类型。

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

## ◆ ResourceIndex

using YSLib::ResourceIndex = typedef decltype(__LINE__)

在文件 Shells.h 第 44 行定义.

## ◆ ResourceMap

using YSLib::ResourceMap = typedef map<ResourceIndex, ValueObject>

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

## 函数说明

## ◆ Access()

template<typename _type >

YB_ATTR_nodiscard YB_PURE const _type& YSLib::Access | ( | const ValueNode & | node | ) |

inline

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

被这些函数引用 YSLib::UI::ImplDeDtor().

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

## ◆ AccessChild()

template<typename _type , typename... _tParams>

const _type& YSLib::AccessChild | ( | const ValueNode & | node,
|  | _tParams &&... | args
| ) |  |

inline

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

引用了 AccessNode(), args , 以及 yforward.

函数调用图:

## ◆ AccessChildPtr() [1/4]

template<typename _type , typename... _tParams>

YB_ATTR_nodiscard YB_PURE observer_ptr<const _type> YSLib::AccessChildPtr | ( | const ValueNode & | node,
|  | _tParams &&... | args
| ) |  |

inline

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

引用了 AccessNodePtr(), args , 以及 yforward.

函数调用图:

## ◆ AccessChildPtr() [2/4]

template<typename _type , typename... _tParams>

YB_ATTR_nodiscard YB_PURE observer_ptr<const _type> YSLib::AccessChildPtr | ( | const ValueNode * | p_node,
|  | _tParams &&... | args
| ) |  |

inline

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

引用了 args , 以及 yforward.

## ◆ AccessChildPtr() [3/4]

template<typename _type , typename... _tParams>

YB_ATTR_nodiscard YB_PURE observer_ptr<_type> YSLib::AccessChildPtr | ( | ValueNode & | node,
|  | _tParams &&... | args
| ) |  |

inline

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

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

引用了 AccessNodePtr(), args , 以及 yforward.

函数调用图:

## ◆ AccessChildPtr() [4/4]

template<typename _type , typename... _tParams>

YB_ATTR_nodiscard YB_PURE observer_ptr<_type> YSLib::AccessChildPtr | ( | ValueNode * | p_node,
|  | _tParams &&... | args
| ) |  |

inline

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

引用了 args , 以及 yforward.

## ◆ AccessNode() [1/14]

template<class _tNode , typename _tIn >

YB_ATTR_nodiscard YB_PURE _tNode&& YSLib::AccessNode | ( | _tNode && | node,
|  | _tIn | first,
|  | _tIn | last
| ) |  |

自从
  build 670

注解
  使用 ADL AccessNode 。

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

引用了 AccessNode(), CHRLib::c , 以及 ystdex::ref().

函数调用图:

## ◆ AccessNode() [2/14]

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)))

inline

注解
  使用 ADL begin 和 end 指定范围迭代器。

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

引用了 AccessNode(), ystdex::cpp2017::begin(), CHRLib::c, ystdex::cpp2017::end() , 以及 yforward.

函数调用图:

## ◆ AccessNode() [3/14]

const ValueNode & YSLib::AccessNode | ( | const ValueNode & | node,
|  | size_t | n
| ) |  |

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

引用了 AccessNodePtr(), platform::p , 以及 YSLib::ValueNode::ThrowIndexOutOfRange().

函数调用图:

## ◆ AccessNode() [4/14]

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
| ) |  |

inline

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

引用了 AccessNode() , 以及 NPL::A1::name.

函数调用图:

## ◆ AccessNode() [5/14]

template<typename _tKey >

YB_ATTR_nodiscard YB_PURE const ValueNode& YSLib::AccessNode | ( | const ValueNode::Container & | con,
|  | const _tKey & | name
| ) |  |

inline

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

引用了 AccessNode() , 以及 NPL::A1::name.

函数调用图:

## ◆ AccessNode() [6/14]

YB_ATTR_nodiscard YF_API YB_PURE const ValueNode& YSLib::AccessNode | ( | const ValueNode::Container * | p_con,
|  | const string & | name
| ) |  |

自从
  build 670

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

引用了 AccessNodePtr(), NPL::A1::name, platform::p , 以及 YSLib::ValueNode::ThrowWrongNameFound().

函数调用图:

## ◆ AccessNode() [7/14]

template<typename _tKey >

YB_ATTR_nodiscard YB_PURE const ValueNode& YSLib::AccessNode | ( | const ValueNode::Container * | p_con,
|  | const _tKey & | name
| ) |  |

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

引用了 AccessNodePtr(), NPL::A1::name, platform::p , 以及 YSLib::ValueNode::ThrowWrongNameFound().

函数调用图:

## ◆ AccessNode() [8/14]

template<typename _tKey >

YB_ATTR_nodiscard YB_PURE const ValueNode& YSLib::AccessNode | ( | observer_ptr< const ValueNode::Container > | p_con,
|  | const _tKey & | name
| ) |  |

inline

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

引用了 AccessNode() , 以及 NPL::A1::name.

函数调用图:

## ◆ AccessNode() [9/14]

template<typename _tKey >

YB_ATTR_nodiscard YB_PURE ValueNode& YSLib::AccessNode | ( | observer_ptr< ValueNode::Container > | p_con,
|  | const _tKey & | name
| ) |  |

inline

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

引用了 AccessNode() , 以及 NPL::A1::name.

函数调用图:

## ◆ AccessNode() [10/14]

ValueNode & YSLib::AccessNode | ( | ValueNode & | node,
|  | size_t | n
| ) |  |

注解
  时间复杂度 O(n) 。

自从
  build 670

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

引用了 AccessNodePtr(), platform::p , 以及 YSLib::ValueNode::ThrowIndexOutOfRange().

函数调用图:

## ◆ AccessNode() [11/14]

template<typename _tKey , yimpl(typename=ValueNode::enable_if_key_t< _tKey >) >

YB_ATTR_nodiscard YB_PURE ValueNode& YSLib::AccessNode | ( | ValueNode & | node,
|  | const _tKey & | name
| ) |  |

inline

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

引用了 AccessNode() , 以及 NPL::A1::name.

函数调用图:

## ◆ AccessNode() [12/14]

template<typename _tKey >

YB_ATTR_nodiscard YB_PURE ValueNode& YSLib::AccessNode | ( | ValueNode::Container & | con,
|  | const _tKey & | name
| ) |  |

inline

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

引用了 AccessNode() , 以及 NPL::A1::name.

函数调用图:

## ◆ AccessNode() [13/14]

YB_ATTR_nodiscard YF_API YB_PURE ValueNode& YSLib::AccessNode | ( | ValueNode::Container * | p_con,
|  | const string & | name
| ) |  |

访问节点。

异常

  std::out_of_range | 未找到对应节点。

自从
  build 670

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

引用了 AccessNodePtr(), NPL::A1::name, platform::p , 以及 YSLib::ValueNode::ThrowWrongNameFound().

被这些函数引用 YSLib::ValueNode::AccessChild(), AccessChild(), AccessNode(), YSLib::UI::WidgetLoader::DetectWidgetNode(), YSLib::Environment::Environment(), YSLib::UI::TreeList::GetNodeRef(), YReader::ShlReader::LoadBookmarks(), YReader::ShlReader::LoadGlobalConfiguration() , 以及 YSLib::UI::WidgetLoader::TransformUILayout().

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

## ◆ AccessNode() [14/14]

template<typename _tKey >

YB_ATTR_nodiscard YB_PURE ValueNode& YSLib::AccessNode | ( | ValueNode::Container * | p_con,
|  | const _tKey & | name
| ) |  |

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

引用了 AccessNodePtr(), NPL::A1::name, platform::p , 以及 YSLib::ValueNode::ThrowWrongNameFound().

函数调用图:

## ◆ AccessNodePtr() [1/14]

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)))

自从
  build 670

注解
  使用 ADL AccessNodePtr 。

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

引用了 AccessNodePtr(), ystdex::addressof(), ystdex::make_observer() , 以及 platform::p.

函数调用图:

## ◆ AccessNodePtr() [2/14]

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)))

inline

注解
  使用 ADL begin 和 end 指定范围迭代器。

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

引用了 AccessNodePtr(), ystdex::cpp2017::begin(), CHRLib::c, ystdex::cpp2017::end() , 以及 yforward.

函数调用图:

## ◆ AccessNodePtr() [3/14]

observer_ptr< const ValueNode > YSLib::AccessNodePtr | ( | const ValueNode & | node,
|  | size_t | n
| ) |  |

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

引用了 ystdex::make_observer() , 以及 next.

函数调用图:

## ◆ AccessNodePtr() [4/14]

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
| ) |  |

inline

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

引用了 AccessNodePtr() , 以及 NPL::A1::name.

函数调用图:

## ◆ AccessNodePtr() [5/14]

YB_ATTR_nodiscard YF_API YB_PURE observer_ptr<const ValueNode> YSLib::AccessNodePtr | ( | const ValueNode::Container & | con,
|  | const string & | name
| ) |  |

自从
  build 670

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

引用了 ystdex::cpp2017::end(), ystdex::make_observer() , 以及 NPL::A1::name.

函数调用图:

## ◆ AccessNodePtr() [6/14]

template<typename _tKey >

YB_ATTR_nodiscard YB_PURE observer_ptr<const ValueNode> YSLib::AccessNodePtr | ( | const ValueNode::Container & | con,
|  | const _tKey & | name
| ) |  |

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

引用了 ystdex::cpp2017::end(), ystdex::make_observer() , 以及 NPL::A1::name.

函数调用图:

## ◆ AccessNodePtr() [7/14]

template<typename _tKey >

YB_ATTR_nodiscard YB_PURE observer_ptr< const ValueNode > YSLib::AccessNodePtr | ( | const ValueNode::Container * | p_con,
|  | const _tKey & | name
| ) |  |

inline

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

引用了 AccessNodePtr() , 以及 NPL::A1::name.

函数调用图:

## ◆ AccessNodePtr() [8/14]

template<typename _tKey >

YB_ATTR_nodiscard YB_PURE observer_ptr<const ValueNode> YSLib::AccessNodePtr | ( | observer_ptr< const ValueNode::Container > | p_con,
|  | const _tKey & | name
| ) |  |

inline

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

引用了 AccessNodePtr() , 以及 NPL::A1::name.

函数调用图:

## ◆ AccessNodePtr() [9/14]

template<typename _tKey >

YB_ATTR_nodiscard YB_PURE observer_ptr<ValueNode> YSLib::AccessNodePtr | ( | observer_ptr< ValueNode::Container > | p_con,
|  | const _tKey & | name
| ) |  |

inline

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

引用了 AccessNodePtr() , 以及 NPL::A1::name.

函数调用图:

## ◆ AccessNodePtr() [10/14]

observer_ptr< ValueNode > YSLib::AccessNodePtr | ( | ValueNode & | node,
|  | size_t | n
| ) |  |

注解
  时间复杂度 O(n) 。

自从
  build 670

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

引用了 ystdex::make_observer() , 以及 next.

函数调用图:

## ◆ AccessNodePtr() [11/14]

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
| ) |  |

inline

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

引用了 AccessNodePtr() , 以及 NPL::A1::name.

函数调用图:

## ◆ AccessNodePtr() [12/14]

YB_ATTR_nodiscard YF_API YB_PURE observer_ptr<ValueNode> YSLib::AccessNodePtr | ( | ValueNode::Container & | con,
|  | const string & | name
| ) |  |

访问节点指针。

自从
  build 670

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

引用了 ystdex::cpp2017::end(), ystdex::make_observer() , 以及 NPL::A1::name.

函数调用图:

## ◆ AccessNodePtr() [13/14]

template<typename _tKey >

YB_ATTR_nodiscard YB_PURE observer_ptr<ValueNode> YSLib::AccessNodePtr | ( | ValueNode::Container & | con,
|  | const _tKey & | name
| ) |  |

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

引用了 ystdex::cpp2017::end(), ystdex::make_observer() , 以及 NPL::A1::name.

函数调用图:

## ◆ AccessNodePtr() [14/14]

template<typename _tKey >

YB_ATTR_nodiscard YB_PURE observer_ptr< ValueNode > YSLib::AccessNodePtr | ( | ValueNode::Container * | p_con,
|  | const _tKey & | name
| ) |  |

inline

自从
  build 730

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

引用了 NPL::A1::name.

被这些函数引用 AccessChildPtr(), AccessNode(), AccessNodePtr() , 以及 YSLib::UI::ImplDeDtor().

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

## ◆ AccessPtr() [1/4]

template<typename _type >

YB_ATTR_nodiscard YB_PURE observer_ptr<const _type> YSLib::AccessPtr | ( | const ValueNode & | node | ) |

inline

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

## ◆ AccessPtr() [2/4]

template<typename _type >

YB_ATTR_nodiscard YB_PURE observer_ptr<const _type> YSLib::AccessPtr | ( | const ValueObject & | vo | ) |

inline

在文件 YObject.h 第 1568 行定义.

引用了 vo.

## ◆ AccessPtr() [3/4]

template<typename _type , typename _tNodeOrPointer >

YB_ATTR_nodiscard YB_PURE auto YSLib::AccessPtr | ( | observer_ptr< _tNodeOrPointer > | p | ) | -> decltype(YSLib::AccessPtr<_type>(*p))

inline

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

自从
  build 749

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

引用了 platform::p.

## ◆ AccessPtr() [4/4]

template<typename _type >

YB_ATTR_nodiscard YB_PURE observer_ptr<_type> YSLib::AccessPtr | ( | ValueNode & | node | ) |

inline

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

自从
  build 670

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

被这些函数引用 YSLib::UI::WidgetLoader::TransformUILayout().

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

## ◆ AddMIMEItems()

void YSLib::AddMIMEItems | ( | MIMEBiMapping & | m,
|  | const ValueNode & | node,
|  | MIMEBiMapping::MIMEType && | pth = `{}`
| ) |  |

根据 NPLA1 节点内容增加 MIME 映射。

自从
  build 450

在文件 ContentType.cpp 第 62 行定义.

引用了 CatchIgnore, IsPrefixedIndex() , 以及 platform::p.

被这些函数引用 FetchMIMEBiMapping().

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

## ◆ AddUnique() [1/4]

template<typename _type , typename _tRet , typename... _tParams>

GEvent<_tRet(_tParams...)>& YSLib::AddUnique | ( | GEvent< _tRet(_tParams...)> & | evt,
|  | _type && | arg,
|  | EventPriority | prior = `DefaultEventPriority`
| ) |  |

inline

在文件 YEvent.hpp 第 873 行定义.

引用了 AddUnique() , 以及 yforward.

函数调用图:

## ◆ AddUnique() [2/4]

template<class _type , typename _tRet , typename... _tParams>

GEvent<_tRet(_tParams...)>& YSLib::AddUnique | ( | GEvent< _tRet(_tParams...)> & | evt,
|  | _type & | obj,
|  | _tRet(_type::*)(_tParams...) | pm,
|  | EventPriority | prior = `DefaultEventPriority`
| ) |  |

inline

自从
  build 413

在文件 YEvent.hpp 第 881 行定义.

引用了 AddUnique().

函数调用图:

## ◆ AddUnique() [3/4]

template<typename _tRet , typename... _tParams>

GEvent<_tRet(_tParams...)>& YSLib::AddUnique | ( | GEvent< _tRet(_tParams...)> & | evt,
|  | const typename GEvent< _tRet(_tParams...)>::HandlerType & | h,
|  | EventPriority | prior = `DefaultEventPriority`
| ) |  |

inline

添加单一事件响应：删除后添加。

自从
  build 333

在文件 YEvent.hpp 第 858 行定义.

被这些函数引用 AddUnique().

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

## ◆ AddUnique() [4/4]

template<typename _tRet , typename... _tParams>

GEvent<_tRet(_tParams...)>& YSLib::AddUnique | ( | GEvent< _tRet(_tParams...)> & | evt,
|  | typename GEvent< _tRet(_tParams...)> ::HandlerType && | h,
|  | EventPriority | prior = `DefaultEventPriority`
| ) |  |

inline

在文件 YEvent.hpp 第 866 行定义.

## ◆ AreEqualHeld()

template<typename _type1 , typename _type2 >

YB_ATTR_nodiscard YB_PURE yconstfn bool YSLib::AreEqualHeld | ( | const _type1 & | x,
|  | const _type2 & | y
| ) |  |

判断动态泛型的持有值是否相等。

注解
  不直接使用 ystdex::examiners::equal_examiner 判断， 因为可以有其它重载操作符。

自从
  build 454

在文件 YObject.h 第 252 行定义.

引用了 ystdex::examiners::equal::are_equal(), x , 以及 YSLib::UI::y.

函数调用图:

## ◆ AsNode()

template<typename _tString , typename... _tParams>

YB_ATTR_nodiscard YB_PURE ValueNode YSLib::AsNode | ( | const ValueNode::allocator_type & | a,
|  | _tString && | str,
|  | _tParams &&... | args
| ) |  |

inline

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

引用了 a, args, NoContainer, str , 以及 yforward.

被这些函数引用 YReader::AddButtonToTabBar(), NPL::A1::InsertChild(), NPL::MapNPLALeafNode(), NPL::A1::TransformNode() , 以及 YSLib::UI::WidgetLoader::TransformUILayout().

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

## ◆ CheckArithmetic()

template<typename _tDst , typename _type >

_tDst YSLib::CheckArithmetic | ( | _type | val,
|  | const string & | name = `{}`,
|  | RecordLevel | lv = `Err`
| ) |  |

inline

检查算术类型数值在指定类型的范围内。

在文件 YCoreUtilities.h 第 320 行定义.

## ◆ CheckLocalFHSLayout() [1/2]

YB_ATTR_nodiscard YF_API YB_PURE bool YSLib::CheckLocalFHSLayout | ( | const string & |  | ) |

判断指定程序映像的路径字符串指示的位置是否符合局部 FHS 目录布局。

自从
  build 899

参见
  https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html 。

以 POSIX 环境变量语法，预期的局部用户目录布局为： $PREFIX/ $PREFIX/$BIN/ $PREFIX/lib/ $PREFIX/share/ 其中，$PREFIX 为路径前缀，$BIN 是任意非空的目录名。 当参数指定 $PREFIX/$BIN/ 目录，且以上路径以目录存在时，检查通过。 假定检查目录时，布局不改变。 实现可分别检查各项路径，而不要求避免外部并发访问的竞争。

## ◆ CheckLocalFHSLayout() [2/2]

bool YSLib::CheckLocalFHSLayout | ( | const string & | path_string | ) |

在文件 Initialization.cpp 第 643 行定义.

被这些函数引用 GetLocalFHSRootPathOf().

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

## ◆ CheckLowerBound()

template<typename _tDst , typename _type >

_tDst YSLib::CheckLowerBound | ( | _type | val,
|  | const string & | name = `{}`,
|  | RecordLevel | lv = `Err`
| ) |  |

inline

检查算术类型数值不小于指定类型的下界。

异常

  LoggedEvent | 范围检查失败。

注解
  对运行时由外部引入数值的检查，失败抛出运行时异常。
  不依赖运行时引入数值的检查可使用 ystdex::narrow 代替。

自从
  build 833

参见
  ystdex::narrow

在文件 YCoreUtilities.h 第 285 行定义.

## ◆ CheckNonnegative()

template<typename _tDst , typename _type >

_tDst YSLib::CheckNonnegative | ( | _type | val,
|  | const string & | name = `{}`,
|  | RecordLevel | lv = `Err`
| ) |  |

inline

检查非负算术类型数值在指定类型的范围内。

在文件 YCoreUtilities.h 第 329 行定义.

## ◆ CheckPositive()

template<typename _tDst , typename _type >

_tDst YSLib::CheckPositive | ( | _type | val,
|  | const string & | name = `{}`,
|  | RecordLevel | lv = `Err`
| ) |  |

inline

检查正算术类型数值在指定类型的范围内。

在文件 YCoreUtilities.h 第 340 行定义.

## ◆ CheckUpperBound()

template<typename _tDst , typename _type >

_tDst YSLib::CheckUpperBound | ( | _type | val,
|  | const string & | name = `{}`,
|  | RecordLevel | lv = `Err`
| ) |  |

inline

检查算术类型数值不大于指定类型的上界。

在文件 YCoreUtilities.h 第 301 行定义.

## ◆ ClearSequence()

template<typename _tOut >

void YSLib::ClearSequence | ( | _tOut | dst,
|  | size_t | n
| ) |  |

inline

清除指定的连续对象。

前置条件
  设类型 T 为 `ystdex::decay_t<decltype(*dst)>`， 则应满足 `std::is_trivial<T>() || (std::is_nothrow_default_constructible<T>() && std::is_nothrow_assignable<T, T>())` 。

自从
  build 624

在文件 YCoreUtilities.h 第 359 行定义.

引用了 NPL::dst.

被这些函数引用 YSLib::Drawing::ClearPixels().

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

## ◆ CollectNodes() [1/2]

template<typename... _tParams>

YB_ATTR_nodiscard YB_PURE ValueNode::Container YSLib::CollectNodes | ( | _tParams &&... | args | ) |

inline

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

引用了 args , 以及 yforward.

## ◆ CollectNodes() [2/2]

template<typename _tElem >

YB_ATTR_nodiscard YB_PURE ValueNode::Container YSLib::CollectNodes | ( | std::initializer_list< _tElem > | il | ) |

inline

取指定值类型节点为成员的节点容器。

自从
  build 598

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

被这些函数引用 PackNodes().

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

## ◆ DeclDerivedI()

YSLib::DeclDerivedI | ( | YF_API | ,
|  | IValueHolder | ,
|  | any_ops::holder |
| ) |  |

带等于接口的动态泛型持有者接口。

参见
  ystdex::any_holder

自从
  build 332

创建选项。

参见
  Create

自从
  build 761

创建不具有所有权的间接持有者。

警告
  应适当维护所有权避免未定义行为。

派生实现应保证持有对应的 lref<T> 类型的值引用当前持有的 T 类型的值。

创建引用的值的副本。

使用当前持有者引用的值创建副本。 派生实现应保证持有对应的值是当前持有值的不同副本， 或和当前持有值共享所有权的同一副本。 若当前持有者是引用，从引用的值复制。

创建引用的值转移的副本。

使用当前持有者引用的值创建转移的副本。 派生实现应保证持有对应的值从当前持有的值转移。 若当前持有者是引用，从引用的值转移。

在文件 YObject.h 第 126 行定义.

引用了 YSLib::UI::Move.

## ◆ DeclI()

YSLib::DeclI | ( | YF_API | ,
|  | IResource |
| ) |  |

资源接口。

自从
  build 174

图像资源。

自从
  build 205

构造：使用指定位图指针、长和宽。

自从
  build 433
  build 433
  build 586

虚析构：类定义外默认实现。

自从
  build 586

按指定图像大小旋转左上角坐标。

自从
  build 578

在文件 YResource.h 第 42 行定义.

引用了 DefDeCopyCtor, DefGetter, implements, YSLib::Drawing::ImplRet(), YSLib::Drawing::PDefH(), YF_API , 以及 YSLib::Drawing::ynothrow.

函数调用图:

## ◆ DeclIEntry()

YB_ATTR_nodiscard YSLib::DeclIEntry | ( | any Create(Creation, const any &) const |  | ) | const

创建新的持有者。

前置条件
  若使用分配器，第二参数指定具有和覆盖实现蕴含的类型一致的分配器的非空值。

返回
  包含新创建的持有者的动态泛型对象。

异常

  ystdex::invalid_construction | 参数类型无法用于初始化持有者。

参见
  Creation
  HolderOperations

自从
  build 864

按第一参数指定的选项创建按指定选项持有的对象。 第二参数指定被创建的的对象来源，可提供分配器。 派生实现应保证返回的值满足选项指定的条件，且变换不改变当前逻辑状态， 除 mutable 的数据成员可被转移；否则，应抛出异常。

判断相等。

前置条件
  参数为空指针值或持有的对象去除 const 后具有和参数相同动态类型的对象。

返回
  持有的对象相等，或持有空对象且参数为空指针值。

自从
  bulid 752

比较参数和持有的对象。 派生实现应保证返回的值满足 EqualityComparable 中对 == 操作的要求。

取被持有对象的共享所有者总数。

自从
  build 786

查询和持有者关联的数据。

注解
  参数的含义和使用方式由具体实现约定。

返回
  和持有者关联的数据或空值。

自从
  build 891

提供创建持有者的默认实现。

自从
  build 761

参见
  Create

## ◆ DecodeIndex()

size_t YSLib::DecodeIndex | ( | string_view | sv | ) |

解码节点名称的前缀索引。

异常

  std::invalid_argument | 存在子节点但名称不是前缀索引。

前置条件
  断言：参数的数据指针非空。

返回
  若不存在子节点则为 `size_t`(-1) ，否则为名称对应的索引。

自从
  build 851

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

引用了 i, size_t , 以及 YAssert().

被这些函数引用 NPL::DecodeNodeIndex() , 以及 IsPrefixedIndex().

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

## ◆ DefaultCommandBufferSize()

YF_API const char* yconstexpr const size_t YSLib::DefaultCommandBufferSize | ( | yimpl(4096) |  | ) |

默认命令缓冲区大小。

自从
  build 567

## ◆ DefaultEventPriority()

yconstexpr const EventPriority YSLib::DefaultEventPriority | ( | 0x80 |  | ) |

默认事件优先级。

自从
  build 294

## ◆ DefaultTimeFormat()

yconstexpr const char* const YSLib::DefaultTimeFormat | ( | "%04u-%02u-%02u %02u:%02u:%02u" |  | ) |

默认时间格式字符串。

自从
  build 307

## ◆ EmplaceCallResult() [1/9]

template<typename _type , typename... _tParams>

void YSLib::EmplaceCallResult | ( | ValueObject & | ,
|  | _type && | ,
|  | ystdex::false_ | ,
|  | _tParams && | ...
| ) |  |

以指定参数按需构造替换值。

自从
  build 863

默认对 ValueObject 及引用值会被直接复制或转移赋值； 其它情形调用 ValueObject::emplace 。 使用第三和第四参数分别指定非默认情形下不忽略值及使用赋值。

在文件 YObject.h 第 1585 行定义.

被这些函数引用 NPL::A1::Forms::CallBinary(), NPL::A1::Forms::CallBinaryAs(), NPL::A1::Forms::CallBinaryFold(), NPL::A1::Forms::CallUnary() , 以及 EmplaceCallResult().

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

## ◆ EmplaceCallResult() [2/9]

template<typename _type >

void YSLib::EmplaceCallResult | ( | ValueObject & | vo,
|  | _type && | res
| ) |  |

inline

在文件 YObject.h 第 1636 行定义.

引用了 EmplaceCallResult(), vo , 以及 yforward.

函数调用图:

## ◆ EmplaceCallResult() [3/9]

template<typename _type , class _tAlloc >

void YSLib::EmplaceCallResult | ( | ValueObject & | vo,
|  | _type && | res,
|  | const _tAlloc & | a
| ) |  |

inline

在文件 YObject.h 第 1643 行定义.

引用了 a, EmplaceCallResult(), vo , 以及 yforward.

函数调用图:

## ◆ EmplaceCallResult() [4/9]

template<typename _type >

void YSLib::EmplaceCallResult | ( | ValueObject & | vo,
|  | _type && | res,
|  | ystdex::true_ |
| ) |  |

inline

在文件 YObject.h 第 1621 行定义.

引用了 EmplaceCallResult(), vo , 以及 yforward.

函数调用图:

## ◆ EmplaceCallResult() [5/9]

template<typename _type , class _tAlloc >

void YSLib::EmplaceCallResult | ( | ValueObject & | vo,
|  | _type && | res,
|  | ystdex::true_ | ,
|  | const _tAlloc & | a
| ) |  |

inline

在文件 YObject.h 第 1628 行定义.

引用了 a, EmplaceCallResult(), vo , 以及 yforward.

函数调用图:

## ◆ EmplaceCallResult() [6/9]

template<typename _type >

void YSLib::EmplaceCallResult | ( | ValueObject & | vo,
|  | _type && | res,
|  | ystdex::true_ | ,
|  | ystdex::false_ |
| ) |  |

inline

在文件 YObject.h 第 1615 行定义.

引用了 vo , 以及 yforward.

## ◆ EmplaceCallResult() [7/9]

void class _tAlloc inline void class _tAlloc inline void YSLib::EmplaceCallResult | ( | ValueObject & | vo,
|  | _type && | res,
|  | ystdex::true_ | ,
|  | ystdex::false_ | ,
|  | const _tAlloc & | a
| ) |  |

在文件 YObject.h 第 1589 行定义.

引用了 vo , 以及 yforward.

## ◆ EmplaceCallResult() [8/9]

template<typename _type >

void YSLib::EmplaceCallResult | ( | ValueObject & | vo,
|  | _type && | res,
|  | ystdex::true_ | ,
|  | ystdex::true_ |
| ) |  |

inline

## ◆ EmplaceCallResult() [9/9]

void class _tAlloc inline void YSLib::EmplaceCallResult | ( | ValueObject & | vo,
|  | _type && | res,
|  | ystdex::true_ | ,
|  | ystdex::true_ | ,
|  | const _tAlloc & |
| ) |  |

## ◆ EmplaceIfEmpty()

template<typename _type , typename... _tParams>

YB_ATTR_nodiscard _type& YSLib::EmplaceIfEmpty | ( | ValueObject & | vo,
|  | _tParams &&... | args
| ) |  |

在文件 YObject.h 第 1652 行定义.

引用了 args, vo , 以及 yforward.

## ◆ Execute()

void YSLib::Execute | ( | GUIApplication & | app,
|  | shared_ptr< Shell > | p_shl
| ) |  |

在文件 GUIApplication.cpp 第 308 行定义.

引用了 Activate, YSLib::GUIApplication::DealMessage(), FetchGUIHost , 以及 YB_UNLIKELY.

被这些函数引用 main().

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

## ◆ ExtractAndTrace()

YF_API void YSLib::ExtractAndTrace | ( | const std::exception & | ,
|  | RecordLevel | = `Err`
| ) |  |

使用 TraceException 展开和跟踪异常类型和信息。

参见
  ExtraceException
  TraceException
  TraceExceptionType

自从
  build 658

被这些函数引用 FetchCachedCommandResult(), InitializeSystemFontCache(), NPL::InstallFile(), YSLib::Application::OnGotMessage(), YSLib::UI::FileBox::SetPath(), TraceForOutermost() , 以及 TryInvoke().

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

## ◆ ExtractException()

YF_API void YSLib::ExtractException | ( | const ExtractedLevelPrinter & | ,
|  | const std::exception & | ,
|  | size_t | = `0`
| ) |  |

展开指定层次的异常并使用指定参数记录。

参见
  PrintCriticalFor

自从
  build 888

被这些函数引用 PerformKeyAction().

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

## ◆ FetchAppInstance()

Application & YSLib::FetchAppInstance | ( |  | ) |

取应用程序实例。

异常

  LoggedEvent | 找不到全局应用程序实例或消息发送失败。

注解
  保证在平台相关的全局资源初始化之后初始化此实例。
  线程安全。

自从
  build 550

在文件 GUIApplication.cpp 第 295 行定义.

引用了 FetchGlobalInstance().

被这些函数引用 YSLib::Shells::Shell::DefShlProc(), YSLib::Shells::Shell::IsActive(), PostMessage() , 以及 PostQuitMessage().

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

## ◆ FetchCachedCommandResult()

const string & YSLib::FetchCachedCommandResult | ( | string_view | cmd,
|  | size_t | buf_size = `DefaultCommandBufferSize`
| ) |  |

取缓冲的命令执行结果。

前置条件
  断言：第一参数的数据指针非空。

自从
  build 839

在文件 YCoreUtilities.cpp 第 123 行定义.

引用了 CatchExpr, platform::Deref(), CHRLib::e, platform::Descriptions::Err, ExtractAndTrace(), FetchCommandOutput(), LockCommandCache(), YAssertNonnull , 以及 YTraceDe.

函数调用图:

## ◆ FetchCommandOutput()

pair< string, int > YSLib::FetchCommandOutput | ( | const char * | cmd,
|  | size_t | buf_size = `DefaultCommandBufferSize`
| ) |  |

在文件 YCoreUtilities.cpp 第 89 行定义.

引用了 YSLib::Text::buf, fp, platform::p, ystdex::read_all_with_buffer(), CHRLib::s, str, ystdex::throw_error(), ystdex::unique_raw(), platform::upclose(), platform::upopen() , 以及 yfsig.

被这些函数引用 FetchCachedCommandResult() , 以及 NPL::A1::Forms::LoadModule_std_system().

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

## ◆ FetchDefaultFontCache()

Drawing::FontCache & YSLib::FetchDefaultFontCache | ( |  | ) |

取默认字体缓存。

异常

  FatalError | 字体缓存初始化失败。

自从
  build 425

在文件 Initialization.cpp 第 822 行定义.

引用了 InitializeSystemFontCache().

被这些函数引用 YSLib::Drawing::FetchDefaultTypeface(), FetchFontFamilyNames() , 以及 YSLib::Drawing::FontCache::GetDefaultTypefacePtr().

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

## ◆ FetchEnvironmentVariable()

bool YSLib::FetchEnvironmentVariable | ( | string & | res,
|  | const char * | var
| ) |  |

在文件 YCoreUtilities.cpp 第 77 行定义.

引用了 platform::Nonnull().

被这些函数引用 YSLib::Environment::Environment() , 以及 NPL::A1::Forms::LoadModule_std_system().

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

## ◆ FetchFontFamilyNames()

shared_ptr< UI::TextList::ListType > YSLib::FetchFontFamilyNames | ( |  | ) |

取字型家族名称。

后置条件
  结果是指向非空列表的非空指针。

自从
  build 307

在文件 ShellHelper.cpp 第 107 行定义.

引用了 FetchDefaultFontCache() , 以及 ystdex::get_key.

函数调用图:

## ◆ FetchGlobalInstance()

template<class _tApp >

GUIApplication & YSLib::FetchGlobalInstance | ( |  | ) |

inline

在文件 GUIApplication.h 第 271 行定义.

被这些函数引用 FetchAppInstance() , 以及 RemoveGlobalTasks().

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

## ◆ FetchInstance()

template<typename _type >

_type YSLib::FetchInstance | ( |  | ) |

inline

取指定类型的无参数构造的对象。

自从
  build 241

在文件 YStorage.hpp 第 43 行定义.

## ◆ FetchLocalFHSRootPath()

const IO::Path & YSLib::FetchLocalFHSRootPath | ( |  | ) |

取根路径字符串对应的局部 FHS 根路径。

参见
  FetchRootPathString
  GetLocalFHSRootPathOf

在文件 Initialization.cpp 第 652 行定义.

引用了 FetchRootPathString(), GetLocalFHSRootPathOf() , 以及 platform::path.

函数调用图:

## ◆ FetchMIMEBiMapping()

MIMEBiMapping & YSLib::FetchMIMEBiMapping | ( |  | ) |

取 MIME 类型名和文件扩展名双向映射对象。

自从
  build 450

在文件 Initialization.cpp 第 836 行定义.

引用了 AddMIMEItems(), NPL::SContext::Analyze(), NPL::c_str(), NPL::A1::LoadNode() , 以及 LoadNPLA1File().

函数调用图:

## ◆ FetchPrototype()

template<typename _type >

const _type& YSLib::FetchPrototype | ( |  | ) |

inline

取指定类型的静态原型对象。

自从
  build 240

在文件 YStorage.hpp 第 65 行定义.

## ◆ FetchRoot()

ValueNode & YSLib::FetchRoot | ( |  | ) |

取值类型根节点。

前置条件
  断言：已初始化。

自从
  build 688

在文件 Initialization.cpp 第 816 行定义.

被这些函数引用 YReader::FetchDefaultShellDirectory(), YReader::ImplDeDtor(), YReader::ShlReader::LoadBookmarks(), YReader::ShlReader::LoadGlobalConfiguration(), YReader::ShlReader::SaveBookmarks() , 以及 YReader::ShlReader::SaveGlobalConfiguration().

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

## ◆ FetchRootPathString()

const string & YSLib::FetchRootPathString | ( |  | ) |

取框架根路径字符串。

返回
  以平台路径分隔符结尾的目录路径字符串。

在文件 Initialization.cpp 第 669 行定义.

被这些函数引用 FetchLocalFHSRootPath().

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

## ◆ FetchSign()

template<typename _type >

YB_STATELESS yconstfn std::int_fast8_t YSLib::FetchSign | ( | _type | a,
|  | _type | b = `_type(0)`
| ) |  |

符号函数。

注解
  若 `a < b` 则返回 -1 ，否则若 `a = b` 则返回 0 ，否则返回 1 。

自从
  build 633

在文件 YCoreUtilities.h 第 46 行定义.

引用了 a.

被这些函数引用 FetchSignFromInterval() , 以及 YSLib::Drawing::PlotLineSeg().

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

## ◆ FetchSignFromInterval()

template<typename _type >

YB_STATELESS yconstfn std::int_fast8_t YSLib::FetchSignFromInterval | ( | _type | d,
|  | _type | a,
|  | _type | b
| ) |  |

判断 d 和以 [a, b](a ≤ b) 或 [b, a](a > b) 区间的关系。

返回
  < 0 ：d 在区间外；
  = 0 ：d 在区间端点上；
  > 0 ：d 在区间内。

注解
  无精度修正。
  使用 ADL FetchSign 。

自从
  build 633

在文件 YCoreUtilities.h 第 62 行定义.

引用了 a, CHRLib::d , 以及 FetchSign().

函数调用图:

## ◆ FetchStaticRef()

template<typename _type >

_type& YSLib::FetchStaticRef | ( |  | ) |

inline

取指定类型的静态默认对象。

自从
  build 240

在文件 YStorage.hpp 第 54 行定义.

## ◆ FilterExceptions()

template<typename _func >

bool YSLib::FilterExceptions | ( | _func | f,
|  | const char * | desc = `{}`,
|  | RecordLevel | lv = `Alert`,
|  | ExceptionTracer | trace = `ExtractAndTrace`
| ) |  |

调用函数并过滤宿主异常。

注解
  使用 ADL TryExecute 。

自从
  build 624

对参数指定的函数求值，并捕获和跟踪记录所有异常。 若第二参数非空，则在捕获和跟踪异常前， 调用 YF_TraceRaw 以 Notice 记录等级接打印指示过滤的消息。

在文件 YException.h 第 225 行定义.

被这些函数引用 YSLib::Environment::Environment(), main(), TraceForOutermost(), YReader::ShlTextReader::BaseSession::~BaseSession() , 以及 YReader::ShlTextReader::~ShlTextReader().

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

## ◆ GetLocalFHSRootPathOf() [1/2]

YB_ATTR_nodiscard YF_API YB_PURE IO::Path YSLib::GetLocalFHSRootPathOf | ( | const string & |  | ) |

取指定程序映像的路径字符串对应的局部 fHS 根路径。

参见
  CheckLocalFHSLayout
  FetchRootPathString

若框架根路径的 CheckLocalFHSLayout 检查通过，局部 fHS 根路径为对应的 $PREFIX ； 否则，局部 fHS 根路径路径为空。

## ◆ GetLocalFHSRootPathOf() [2/2]

IO::Path YSLib::GetLocalFHSRootPathOf | ( | const string & | path_string | ) |

在文件 Initialization.cpp 第 675 行定义.

引用了 CheckLocalFHSLayout() , 以及 Path.

被这些函数引用 FetchLocalFHSRootPath().

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

## ◆ GetRawPtrOf()

template<typename _type >

YB_ATTR_nodiscard YB_PURE yconstfn _type* YSLib::GetRawPtrOf | ( | const weak_ptr< _type > & | p | ) |

异常

  bad_weak_ptr | 异常中立：由 shared_ptr 构造函数抛出。

在文件 YObject.h 第 524 行定义.

引用了 platform::p.

## ◆ GetValueOf()

ValueObject YSLib::GetValueOf | ( | observer_ptr< const ValueNode > | p_node | ) |

取指定名称指称的值。

自从
  build 749

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

引用了 ystdex::invoke_value_or() , 以及 YSLib::ValueNode::Value.

函数调用图:

## ◆ GetValuePtrOf()

observer_ptr< const ValueObject > YSLib::GetValuePtrOf | ( | observer_ptr< const ValueNode > | p_node | ) |

取指定名称指称的值的指针。

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

引用了 ystdex::call_value_or(), ystdex::compose(), ystdex::make_observer() , 以及 YSLib::ValueNode::Value.

被这些函数引用 NPL::A1::Forms::LoadModule_SHBuild().

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

## ◆ HalfDifference()

template<typename _type >

YB_STATELESS yconstfn _type YSLib::HalfDifference | ( | _type | x,
|  | _type | y
| ) |  |

计算指定类型的差值的一半。

自从
  build 554

在文件 YCoreUtilities.h 第 73 行定义.

引用了 x , 以及 YSLib::UI::y.

被这些函数引用 YSLib::Drawing::ImagePages::AdjustOffset().

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

## ◆ i()

size_t YSLib::i | ( | 0 |  | ) |

## ◆ ImplDeDtor() [1/4]

YSLib::ImplDeDtor | ( | FatalError |  | ) | const &

## ◆ ImplDeDtor() [2/4]

YSLib::ImplDeDtor | ( | IResource |  | ) |

在文件 YResource.cpp 第 35 行定义.

引用了 YSLib::Text::buf, YSLib::Drawing::ImplDeDtor(), CHRLib::s , 以及 YSLib::Drawing::w.

函数调用图:

## ◆ ImplDeDtor() [3/4]

YSLib::ImplDeDtor | ( | IValueHolder |  | ) |

自从
  build 752

自从
  build 759

在文件 YObject.cpp 第 35 行定义.

引用了 ImplRet(), platform::p, PDefH() , 以及 ynothrowv.

函数调用图:

## ◆ ImplDeDtor() [4/4]

YSLib::ImplDeDtor | ( | LoggedEvent |  | ) |

在文件 YException.cpp 第 49 行定义.

## ◆ ImplRet() [1/2]

YSLib::ImplRet | ( | FetchGlobalInstance().GetGUIHostRef() |  | ) | &

执行程序主消息循环。

异常

  GeneralEvent | 激活主 shell 失败。

注解
  对宿主实现，设置退出所有窗口时向 YSLib 发送退出消息。

自从
  build 399

被这些函数引用 ImplDeDtor() , 以及 PDefH().

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

## ◆ ImplRet() [2/2]

YB_ATTR_nodiscard YB_PURE ValueNode&& arg YSLib::ImplRet | ( | std::move(arg) |  | ) | &&

从参数取以指定分量为初始化参数的值类型节点。

注解
  取分量同 std::get ，但使用 ADL 。仅取前两个分量。

自从
  build 338

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

引用了 ystdex::decay_copy() , 以及 yforward.

函数调用图:

## ◆ InitializeSystemFontCache() [1/2]

YF_API void YSLib::InitializeSystemFontCache | ( | Drawing::FontCache & | ,
|  | const string & | ,
|  | const string & |
| ) |  |

初始化系统字体缓存。

前置条件
  默认字体缓存已初始化。

异常

  FatalError | 字体缓存初始化失败。

自从
  build 398

加载默认字体文件路径和默认字体目录中的字型至默认字体缓存。

## ◆ InitializeSystemFontCache() [2/2]

void YSLib::InitializeSystemFontCache | ( | FontCache & | fc,
|  | const string & | font_file,
|  | const string & | font_dir
| ) |  |

在文件 Initialization.cpp 第 770 行定义.

引用了 CHRLib::c, CatchExpr, platform_ex::Windows::Directory, CHRLib::e, ExtractAndTrace(), YSLib::UI::fc, platform::Descriptions::Notice, platform::path, PerformKeyAction(), platform::Descriptions::Warning, yfsig , 以及 YTraceDe.

被这些函数引用 FetchDefaultFontCache().

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

## ◆ IsInClosedInterval() [1/2]

template<typename _type >

YB_STATELESS bool YSLib::IsInClosedInterval | ( | _type | i,
|  | _type | a,
|  | _type | b
| ) |  |

inline

判断 i 是否在闭区间 [a, b] 中。

前置条件
  断言： `a < b` 。

自从
  build 470

在文件 YCoreUtilities.h 第 124 行定义.

引用了 a, i , 以及 YAssert().

函数调用图:

## ◆ IsInClosedInterval() [2/2]

template<typename _type >

YB_STATELESS bool YSLib::IsInClosedInterval | ( | _type | i,
|  | _type | b
| ) |  |

inline

判断 i 是否在闭区间 [_type(0), b] 中。

前置条件
  断言： `_type(0) < b` 。

自从
  build 470

在文件 YCoreUtilities.h 第 111 行定义.

引用了 i , 以及 YAssert().

函数调用图:

## ◆ IsInInterval() [1/2]

template<typename _type >

YB_STATELESS bool YSLib::IsInInterval | ( | _type | i,
|  | _type | a,
|  | _type | b
| ) |  |

inline

判断 i 是否在左闭右开区间 [a, b) 中。

前置条件
  断言： `a < b` 。

自从
  build 319

在文件 YCoreUtilities.h 第 98 行定义.

引用了 a, i , 以及 YAssert().

函数调用图:

## ◆ IsInInterval() [2/2]

template<typename _type >

YB_STATELESS bool YSLib::IsInInterval | ( | _type | i,
|  | _type | b
| ) |  |

inline

判断 i 是否在左闭右开区间 [_type(0), b) 中。

前置条件
  断言： `_type(0) < b` 。

自从
  build 319

在文件 YCoreUtilities.h 第 85 行定义.

引用了 i , 以及 YAssert().

被这些函数引用 YReader::DeclResource(), YSLib::UI::ImplDeDtor(), YSLib::UI::Menu::IsItemEnabled(), YSLib::UI::Menu::operator-=(), YSLib::Drawing::PlotHLineSeg(), YSLib::Drawing::PlotVLineSeg() , 以及 YSLib::UI::TextBox::UpdateTextBoxClippedText().

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

## ◆ IsInOpenInterval() [1/2]

template<typename _type >

YB_STATELESS bool YSLib::IsInOpenInterval | ( | _type | i,
|  | _type | a,
|  | _type | b
| ) |  |

inline

判断 i 是否在开区间 (a, b) 内。

前置条件
  断言： `a < b` 。

自从
  build 319

在文件 YCoreUtilities.h 第 150 行定义.

引用了 a, i , 以及 YAssert().

函数调用图:

## ◆ IsInOpenInterval() [2/2]

template<typename _type >

YB_STATELESS bool YSLib::IsInOpenInterval | ( | _type | i,
|  | _type | b
| ) |  |

inline

判断 i 是否在开区间 (_type(0), b) 内。

前置条件
  断言： `_type(0) < b` 。

自从
  build 319

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

引用了 i , 以及 YAssert().

函数调用图:

## ◆ IsNullPointer() [1/2]

template<typename _type >

YB_ATTR_nodiscard YB_PURE yconstfn bool YSLib::IsNullPointer | ( | const _type & | p | ) |

判断指针值是否为有效的空值。

自从
  build 854

注解
  使用 ADL get_raw 。

在文件 YObject.h 第 493 行定义.

引用了 platform::bool, ystdex::get_raw() , 以及 platform::p.

函数调用图:

## ◆ IsNullPointer() [2/2]

template<typename _type >

YB_ATTR_nodiscard YB_PURE bool YSLib::IsNullPointer | ( | const weak_ptr< _type > & | p | ) |

inline

在文件 YObject.h 第 499 行定义.

引用了 CatchExpr, CatchIgnore, NPL::get, platform::p, TryRet , 以及 yassume.

## ◆ IsPrefixedIndex()

bool YSLib::IsPrefixedIndex | ( | string_view | name,
|  | char | prefix = `'$'`
| ) |  |

判断字符串是否是前缀索引：一个指定字符和非负整数的组合。

前置条件
  断言：字符串参数的数据指针非空。

注解
  仅测试能被 `unsigned long` 表示的整数。

自从
  build 659

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

引用了 CatchIgnore, DecodeIndex(), MakeIndex(), NPL::A1::name , 以及 YAssertNonnull.

被这些函数引用 AddMIMEItems() , 以及 NPL::PrintNode().

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

## ◆ LoadComponents()

void YSLib::LoadComponents | ( | Application & | app,
|  | const ValueNode & | node
| ) |  |

初始化应用程序组件。

异常

  GeneralEvent | 嵌套异常：加载失败。

自从
  build 693

在文件 Initialization.cpp 第 707 行定义.

引用了 YSLib::Application::AddExit(), platform::Descriptions::Notice, platform::ufexists(), YSLib::IO::VerifyDirectory , 以及 YTraceDe.

被这些函数引用 YSLib::Environment::Environment().

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

## ◆ LoadConfiguration()

ValueNode YSLib::LoadConfiguration | ( | bool | show_info = `{}` | ) |

载入默认配置。

返回
  读取的配置。

参见
  LoadNPLA1File

自从
  build 344

在文件 Initialization.cpp 第 730 行定义.

引用了 NPL::c_str(), creator, LoadNPLA1File(), show_info , 以及 YF_Helper_Initialization_FontDirectory_.

被这些函数引用 YSLib::Environment::Environment() , 以及 YReader::ShlReader::LoadGlobalConfiguration().

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

## ◆ LoadNPLA1File()

ValueNode YSLib::LoadNPLA1File | ( | const char * | disp,
|  | const char * | path,
|  | ValueNode(*)() | creator,
|  | bool | show_info
| ) |  |

在文件 Initialization.cpp 第 693 行定义.

引用了 creator, platform::Descriptions::Debug, platform::path, show_info, TryInvoke(), platform::ufexists() , 以及 YTraceDe.

被这些函数引用 FetchMIMEBiMapping() , 以及 LoadConfiguration().

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

## ◆ LockCommandArguments()

locked_ptr<ArgumentsVector, recursive_mutex> YSLib::LockCommandArguments | ( |  | ) |

related

在文件 YCoreUtilities.cpp 第 67 行定义.

被这些函数引用 NPL::A1::Forms::LoadModule_std_system().

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

## ◆ LockCommandCache()

locked_ptr< CommandCache > YSLib::LockCommandCache | ( |  | ) |

锁定命令执行缓冲区。

返回
  静态对象的非空锁定指针。

在文件 YCoreUtilities.cpp 第 114 行定义.

被这些函数引用 FetchCachedCommandResult().

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

## ◆ LockInstance()

locked_ptr< GUIApplication, recursive_mutex > YSLib::LockInstance | ( |  | ) |

锁定实例。

注解
  当返回结果为空时实例生存期未开始或已结束。

自从
  build 551

在文件 GUIApplication.cpp 第 301 行定义.

## ◆ MakeIndex()

string YSLib::MakeIndex | ( | size_t | n | ) |

转换节点大小为新的节点索引值。

返回
  保证按字典序递增的字符串。

注解
  重复以子节点数作为参数使用作为新节点的名称，可用于插入不重复节点。
  字符串不保证可读。
  具体算法未指定。相同实现的算法结果保证稳定，但不保证版本间稳定。

自从
  build 598

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

引用了 ystdex::floor_lb(), i, str , 以及 YAssert().

被这些函数引用 NPL::A1::InsertChild(), IsPrefixedIndex(), NPL::SXML::MakeTop(), NPL::SXML::MakeXMLDecl() , 以及 NPL::SXML::MakeXMLDoc().

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

## ◆ MakeNode() [1/2]

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
| ) |  |

inline

传递指定名称和退化值参数构造值类型节点。

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

引用了 args, ystdex::decay_copy(), NoContainer, str , 以及 yforward.

函数调用图:

## ◆ MakeNode() [2/2]

template<typename _tString , typename... _tParams>

YB_ATTR_nodiscard YB_PURE ValueNode YSLib::MakeNode | ( | const ValueNode::allocator_type & | a,
|  | _tString && | str,
|  | _tParams &&... | args
| ) |  |

inline

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

引用了 a, args, ystdex::decay_copy(), NoContainer, str , 以及 yforward.

函数调用图:

## ◆ operator!=() [1/2]

template<typename _type >

bool YSLib::operator!= | ( | const shared_ptr< _type > & | sp,
|  | _type * | p
| ) |  |

inline

比较： shared_ptr 左值和内建指针类型的不等关系。

自从
  build 209

在文件 YShellDefinition.h 第 84 行定义.

引用了 platform::p , 以及 YSLib::Drawing::sp.

## ◆ operator!=() [2/2]

template<typename _type1 , typename _type2 >

bool YSLib::operator!= | ( | const weak_ptr< _type1 > & | x,
|  | const weak_ptr< _type2 > & | y
| ) |  |

inline

比较： weak_ptr 不等关系。

注解
  注意和 shared_ptr 比较托管对象指针的语义不同。

自从
  build 209

在文件 YShellDefinition.h 第 95 行定义.

引用了 x , 以及 YSLib::UI::y.

## ◆ operator==() [1/2]

template<typename _type >

bool YSLib::operator== | ( | const shared_ptr< _type > & | sp,
|  | _type * | p
| ) |  |

inline

比较： shared_ptr 和内建指针类型的相等关系。

自从
  build 209

在文件 YShellDefinition.h 第 62 行定义.

引用了 platform::p , 以及 YSLib::Drawing::sp.

## ◆ operator==() [2/2]

template<typename _type1 , typename _type2 >

bool YSLib::operator== | ( | const weak_ptr< _type1 > & | x,
|  | const weak_ptr< _type2 > & | y
| ) |  |

inline

比较： weak_ptr 相等关系。

注解
  注意和 shared_ptr 比较托管对象指针的语义不同。

自从
  build 454

在文件 YShellDefinition.h 第 73 行定义.

引用了 x , 以及 YSLib::UI::y.

## ◆ PackNodes()

template<typename _tString , typename... _tParams>

YB_ATTR_nodiscard YB_PURE ValueNode YSLib::PackNodes | ( | _tString && | name,
|  | _tParams &&... | args
| ) |  |

inline

取以指定分量为参数对应初始化得到的值类型节点为子节点的值类型节点。

自从
  build 338

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

引用了 args, CollectNodes(), NPL::A1::name, UnpackToNode , 以及 yforward.

被这些函数引用 YSLib::Environment::Environment().

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

## ◆ PDefH() [1/7]

YSLib::PDefH | ( | bool | ,
|  | IsNowShell | ,
|  | const shared_ptr< Shell > & | hShl
| ) |  |

inline

判断句柄指定的 Shell 是否为当前线程空间中运行的 Shell 。

自从
  早于 build 132

引用了 Color, ImplRet() , 以及 PDefH().

函数调用图:

## ◆ PDefH() [2/7]

YB_ATTR_nodiscard YB_PURE YSLib::PDefH | ( | const ValueNode & | ,
|  | AsNode | ,
|  | const ValueNode & | node
| ) |  |

inline

传递指定名称和值参数构造值类型节点。

自从
  build 867

注解
  结果不含子节点。

自从
  build 852

## ◆ PDefH() [3/7]

YB_ATTR_nodiscard YB_PURE YSLib::PDefH | ( | const ValueNode & | ,
|  | UnpackToNode | ,
|  | const ValueNode & | arg
| ) |  | &&

inline

从引用参数取值类型节点：返回自身。

自从
  build 338

## ◆ PDefH() [4/7]

YSLib::PDefH | ( | Environment & | ,
|  | FetchEnvironment |
| ) |  | &

inline

取单一环境对象引用。

自从
  build 398

取单一 GUI 宿主对象引用。

自从
  build 698

被这些函数引用 ImplDeDtor() , 以及 PDefH().

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

## ◆ PDefH() [5/7]

YSLib::PDefH | ( | void | ,
|  | PostMessage | ,
|  | Messaging::ID | id,
|  | Messaging::Priority | prior,
|  | const ValueObject & | vo = `{}`
| ) |  |

inline

## ◆ PDefH() [6/7]

prior YSLib::PDefH | ( | void | ,
|  | PostMessage | ,
|  | Messaging::ID | id,
|  | Messaging::Priority | prior,
|  | ValueObject && | c
| ) |  |

inline

## ◆ PDefH() [7/7]

YSLib::PDefH | ( | void | ,
|  | RemoveHead | ,
|  | ValueNode & | node
| ) |  |

inline

根据节点和节点容器创建操作设置目标节点的值或子节点。

注解
  可用于创建副本。

警告
  不检查嵌套深度，不支持嵌套调用安全。

自从
  build 834

## ◆ PerformKeyAction()

void YSLib::PerformKeyAction | ( | function< void()> | f,
|  | const char * | sig,
|  | const char * | t,
|  | string_view | sv
| ) |  |

执行关键动作。

异常

  FatalError | 调用失败。

注解
  第二参数表示调用签名；后两个参数用于抛出异常。

自从
  build 899

在文件 YCoreUtilities.cpp 第 38 行定义.

引用了 CatchExpr, CHRLib::e, ExtractException(), CHRLib::f(), level , 以及 str.

被这些函数引用 YSLib::Environment::Environment() , 以及 InitializeSystemFontCache().

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

## ◆ PostMessage() [1/2]

void YSLib::PostMessage | ( | const Message & | msg,
|  | Messaging::Priority | prior
| ) |  | const

默认退出消息优先级。

自从
  build 696

全局默认队列消息发送函数。

异常

  LoggedEvent | 找不到全局应用程序实例或消息发送失败。

注解
  线程安全。

自从
  build 550

在文件 YApplication.cpp 第 79 行定义.

引用了 FetchAppInstance() , 以及 YSLib::Messaging::MessageQueue::Push().

被这些函数引用 PostMessage().

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

## ◆ PostMessage() [2/2]

template<Messaging::MessageID _vID>

prior prior void YSLib::PostMessage | ( | Messaging::Priority | prior,
|  | const typename Messaging::SMessageMap< _vID >::TargetType & | target
| ) |  |

inline

在文件 YApplication.h 第 237 行定义.

引用了 PostMessage().

函数调用图:

## ◆ PostQuitMessage()

void YSLib::PostQuitMessage | ( | int | n = `0`,
|  | Messaging::Priority | p = `DefaultQuitPriority`
| ) |  |

以指定错误码和优先级发起 Shell 终止请求。

自从
  build 696

在文件 YApplication.cpp 第 87 行定义.

引用了 FetchAppInstance(), platform::Descriptions::Informative, shared_ptr< Shell >, SM_Quit, SM_Set , 以及 YTraceDe.

被这些函数引用 main().

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

## ◆ PostTask()

template<typename _fCallable >

void YSLib::PostTask | ( | _fCallable && | f,
|  | Messaging::Priority | prior = `Messaging::NormalPriority`
| ) |  |

inline

通过消息队列部署后任务。

自从
  build 448

在文件 Task.h 第 43 行定义.

引用了 CHRLib::f() , 以及 yforward.

被这些函数引用 YReader::ShlReader::Exit(), YReader::ShlReader::OnInput() , 以及 YSLib::Messaging::Renew().

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

## ◆ RemoveEmptyChildren()

YF_API void YSLib::RemoveEmptyChildren | ( | ValueNode::Container & | con | ) |

移除空子节点。

自从
  build 674

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

引用了 ystdex::erase_all_if().

函数调用图:

## ◆ RemoveGlobalTasks()

void YSLib::RemoveGlobalTasks | ( |  | ) |

在文件 ShellHelper.cpp 第 57 行定义.

引用了 FetchGlobalInstance() , 以及 YSLib::Messaging::MessageQueue::Remove().

函数调用图:

## ◆ RemoveHead()

YF_API void YSLib::RemoveHead | ( | ValueNode::Container & | con | ) |

移除第一个子节点。

前置条件
  断言：节点容器非空。

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

引用了 YAssert().

被这些函数引用 NPL::A1::Forms::Cond(), NPL::ReduceBranchToList(), NPL::ReduceBranchToListValue(), NPL::ReduceHeadEmptyList() , 以及 NPL::A1::Forms::Sequence().

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

## ◆ reset()

template<typename _type >

bool YSLib::reset | ( | _type *& | p | ) |

inline

在文件 YShellDefinition.h 第 46 行定义.

引用了 platform::p , 以及 ydelete.

被这些函数引用 YSLib::GStaticCache< _type, _tPointer >::Release() , 以及 YSLib::GLocalStaticCache< _type, _tPointer >::Release().

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

## ◆ RestrictInClosedInterval()

template<typename _type >

void YSLib::RestrictInClosedInterval | ( | _type & | v,
|  | const _type & | a,
|  | const _type & | b
| ) |  |

约束 v 在闭区间 [a, b] 中。

前置条件
  间接断言： `!(b < a)` 。

后置条件
  `!(i < a || b < i)` 。

自从
  build 448

在文件 YCoreUtilities.h 第 208 行定义.

引用了 a, ystdex::cpp2017::clamp() , 以及 v.

被这些函数引用 YSLib::Drawing::ImagePages::ZoomTo().

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

## ◆ RestrictInInterval()

template<typename _type >

void YSLib::RestrictInInterval | ( | _type & | i,
|  | const _type & | a,
|  | const _type & | b
| ) |  |

约束整数 i 在左闭右开区间 [a, b) 中。

前置条件
  断言： `a < b` 。

后置条件
  `!(i < a) && i < b` 。

自从
  build 519

在文件 YCoreUtilities.h 第 221 行定义.

引用了 a, i , 以及 YAssert().

被这些函数引用 YSLib::UI::DrawTrackBackground(), YSLib::UI::SequenceViewer::IncreaseSelected(), YSLib::Drawing::PlotHLineSeg() , 以及 YSLib::Drawing::PlotVLineSeg().

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

## ◆ RestrictLessEqual()

template<typename _type >

void YSLib::RestrictLessEqual | ( | _type & | a,
|  | _type & | b
| ) |  |

inline

约束关系：a ≤ b 。

后置条件
  `a <= b` 。

自从
  build 319

在文件 YCoreUtilities.h 第 267 行定义.

引用了 a , 以及 ystdex::cpp2017::swap().

被这些函数引用 YSLib::Drawing::PlotHLineSeg() , 以及 YSLib::Drawing::PlotVLineSeg().

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

## ◆ RestrictUnsigned()

template<typename _type >

void YSLib::RestrictUnsigned | ( | _type & | u,
|  | unsigned | b
| ) |  |

约束无符号整数 u 在左闭右开区间 [0, b) 中。

前置条件
  断言： `b != _type(0)` 。

后置条件
  `!(u < _type(0)) && u < b` 。

自从
  build 319

在文件 YCoreUtilities.h 第 253 行定义.

引用了 YAssert().

函数调用图:

## ◆ RestrictUnsignedStrict()

template<typename _type >

void YSLib::RestrictUnsignedStrict | ( | _type & | u,
|  | _type | b
| ) |  |

约束无符号整数 u 在区间上界 b 内。

后置条件
  `!(b < u)`。

自从
  build 586

在文件 YCoreUtilities.h 第 237 行定义.

被这些函数引用 YSLib::UI::TextList::InvalidateSelected(), YSLib::UI::TextList::LocateViewPosition() , 以及 YSLib::UI::TextBox::UpdateTextBoxClippedText().

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

## ◆ SaveConfiguration()

void YSLib::SaveConfiguration | ( | const ValueNode & | node | ) |

保存默认配置。

异常

  GeneralEvent | 配置文件路径指定的文件不存在或保存失败。\

自从
  build 344

在文件 Initialization.cpp 第 750 行定义.

引用了 NPL::c_str(), platform::Descriptions::Debug , 以及 YTraceDe.

被这些函数引用 YReader::ShlReader::SaveGlobalConfiguration().

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

## ◆ SetContentWith()

_fCallable void YSLib::SetContentWith | ( | ValueNode & | dst,
|  | _tNode && | node,
|  | _fCallable | f
| ) |  |

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

引用了 NPL::dst, CHRLib::f(), ystdex::invoke(), vo , 以及 yforward.

被这些函数引用 NPL::LiftTermValueOrCopy().

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

## ◆ StringifyToNode() [1/2]

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
| ) |  |

inline

取指定名称和转换为字符串的值类型节点。

注解
  使用 ADL to_string 和 ADL to_pmr_string 转换。

待办事项:
  对特定的已被 std::to_string 支持的类型使用更高效的字符串转换算法实现。

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

引用了 args, NoContainer, str, platform::strings::to_pmr_string(), ystdex::to_string() , 以及 yforward.

函数调用图:

## ◆ StringifyToNode() [2/2]

template<typename _tString , typename... _tParams>

YB_ATTR_nodiscard YB_PURE ValueNode YSLib::StringifyToNode | ( | const ValueNode::allocator_type & | a,
|  | _tString && | str,
|  | _tParams &&... | args
| ) |  |

inline

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

引用了 a, args, NoContainer, str, platform::strings::to_pmr_string(), ystdex::to_string() , 以及 yforward.

函数调用图:

## ◆ swap()

void YSLib::swap | ( | ValueNode & | x,
|  | ValueNode & | y
| ) |  |

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

引用了 x , 以及 YSLib::UI::y.

被这些函数引用 YSLib::UI::Widget::SetView().

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

## ◆ TraceExceptionType()

YF_API void YSLib::TraceExceptionType | ( | const std::exception & | ,
|  | RecordLevel | = `Err`
| ) |  |

通过 YF_TraceRaw 跟踪记录异常类型。

自从
  build 658

待办事项:
  处理类型名称。

## ◆ TraceForOutermost()

void YSLib::TraceForOutermost | ( | const std::exception & | e,
|  | RecordLevel | lv
| ) |  |

处理最外层边界的异常，若捕获致命错误则在之后终止程序。

注解
  可作为 FilterExceptions 的参数，用于统一处理抛出到 GUI 程序的主函数的异常。

参见
  FilterExceptions

自从
  build 691

在文件 Initialization.cpp 第 619 行定义.

引用了 CHRLib::e, platform::Descriptions::Emergent, ExtractAndTrace(), FilterExceptions(), lv, platform::p, platform::terminate(), platform_ex::Windows::UTF8ToWCS , 以及 YTraceDe.

被这些函数引用 main().

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

## ◆ TranslateTime() [1/2]

const char * YSLib::TranslateTime | ( | const std::time_t & | t,
|  | const char * | format = `DefaultTimeFormat`
| ) |  |

自从
  build 563

在文件 ShellHelper.cpp 第 95 行定义.

引用了 platform::p, TranslateTime() , 以及 YB_UNLIKELY.

函数调用图:

## ◆ TranslateTime() [2/2]

const char * YSLib::TranslateTime | ( | const std::tm & | tm,
|  | const char * | format = `DefaultTimeFormat`
| ) |  |

格式化时间字符串。

警告
  非线程安全。

自从
  build 307

在文件 ShellHelper.cpp 第 84 行定义.

引用了 str , 以及 NPL::tm.

被这些函数引用 TranslateTime().

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

## ◆ TryExecute()

YF_API bool YSLib::TryExecute | ( | function< void()> | ,
|  | const char * | = `{}`,
|  | RecordLevel | = `Alert`,
|  | ExceptionTracer | = `ExtractAndTrace`
| ) |  |

执行并尝试记录异常。

返回
  是否发生并捕获异常。

自从
  build 624

对参数指定的函数求值，并使用最后一个参数跟踪记录异常。

## ◆ TryInvoke()

template<typename _fCallable , typename... _tParams>

ystdex::nonvoid_result_t<ystdex::invoke_result_t<_fCallable, _tParams...> > YSLib::TryInvoke | ( | _fCallable && | f,
|  | _tParams &&... | args
| ) |  |

调用函数并尝试返回。

自从
  build 702

在文件 YException.h 第 206 行定义.

引用了 args, CatchExpr, CHRLib::e, platform::Descriptions::Emergent, ExtractAndTrace(), CHRLib::f(), ystdex::invoke_nonvoid(), TryRet, YF_TraceRaw , 以及 yforward.

被这些函数引用 LoadNPLA1File().

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

## ◆ while() [1/2]

YSLib::while | ( | ! | ++i==n||v< a[i] | ) |

## ◆ while() [2/2]

YSLib::while | ( | ! | ++i==n||v<(s+=a[i]) | ) |

## ◆ YAssert()

YSLib::YAssert | ( | ! | v< Deref(a),
|  | "Value less than lower bound found." |
| ) |  |

被这些函数引用 YSLib::Drawing::GGraphics< unique_ptr< Pixel[]> >::bool(), YSLib::Text::CheckBOM(), YSLib::Drawing::CopyBuffer(), YSLib::Text::CopySliceFrom(), DecodeIndex(), NPL::DecomposeMakefileDepList(), YSLib::Drawing::DispatchRotatedBrush(), YSLib::UI::DoRequestFocus(), YSLib::Drawing::DrawPolygon(), YSLib::GHEvent< _tRet(_tParams...)>::EqualsUnchecked(), YSLib::DS::UI::DualScreenReader::Execute(), YSLib::Drawing::FetchStringOffsets(), YSLib::Drawing::FetchStringWidth(), YSLib::UI::FetchVisualStyleNames(), YSLib::Drawing::FillRect(), YSLib::AllocatedHolderOperations< _tHolder, _tByteAlloc >::GetByteAllocatorOf(), YSLib::UI::TreeList::GetNodePath(), YSLib::Text::TextFileBuffer::GetPosition(), YSLib::GUIApplication::GUIApplication(), YSLib::UI::MenuHost::HideRaw(), YSLib::UI::HorizontalTrack::HorizontalTrack(), YSLib::Drawing::ImagePages::ImagePages(), YSLib::Timers::ImplDeDtor(), YSLib::UI::ImplDeDtor(), IsInClosedInterval(), IsInInterval(), IsInOpenInterval(), YSLib::UI::Menu::IsItemEnabled(), YSLib::Devices::KeyInputDevice::KeyInputDevice(), YSLib::Drawing::ImagePages::LoadContent(), YSLib::Drawing::MultiBitmapData::LockPage(), YSLib::Drawing::ZoomedImageCache::Lookup(), MakeIndex(), YSLib::IO::MakeNormalizedAbsolute(), YSLib::ValueNode::MoveContent(), YSLib::DS::UI::DualScreenReader::MoveUpForLastLine(), YSLib::UI::MTextList::MTextList(), YSLib::IO::NormalizeDirectoryPathTail(), YSLib::Drawing::VerticalLineTransfomer::operator()(), YSLib::Drawing::CopyLine< _bDec >::operator()(), YSLib::Text::TextFileBuffer::iterator::operator*(), YSLib::Text::TextFileBuffer::iterator::operator++(), YSLib::Text::TextFileBuffer::iterator::operator--(), YSLib::Text::operator==(), YSLib::Text::TextFileBuffer::operator[](), YSLib::Drawing::PlotHLineSeg(), YSLib::Drawing::PlotVLineSeg(), YSLib::Timers::Timer::RefreshDelta(), YSLib::Timers::Timer::RefreshRemainder(), YSLib::GHandlerRegisterBase< GWidgetRegister< _tParams... >, string, GWidgetCreator< _tParams... > >::Register(), YSLib::GHandlerRegisterBase< GWidgetRegister< _tParams... >, string, GWidgetCreator< _tParams... > >::RegisterTail(), YSLib::UI::ReleaseFocusFrom(), RemoveHead(), RestrictInInterval(), RestrictUnsigned(), YSLib::DS::UI::DualScreenReader::ScrollByPixel(), YSLib::Drawing::CompactPixmap::SetSize(), YSLib::Drawing::CompactPixmapEx::SetSize(), YSLib::UI::MenuHost::ShowRaw(), YSLib::Drawing::ImagePages::SwitchPage(), YSLib::UI::TabControl::SwitchPage(), YSLib::UI::BufferedRenderer::Validate(), YSLib::Drawing::Zoom() , 以及 YSLib::Drawing::Typeface::~Typeface().

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

## ◆ YB_NONNULL() [1/4]

YF_API YSLib::YB_NONNULL | ( | 1 |  | ) |

取命令在标准输出上的执行结果。

通过 YF_TraceRaw 跟踪带空格缩进层次的异常信息的函数类型。

前置条件
  间接断言：第一参数非空。

返回
  读取的二进制存储和关闭管道的返回值（可来自被调用的命令）。

异常

  std::bad_alloc | 缓冲区创建失败。
  std::system_error | 管道打开失败。
  std::system_error | 读取失败。
  std::invalid_argument | 第二参数的值等于 `0` 。

注解
  第一参数指定命令；第二参数指定每次读取的缓冲区大小上限，先于执行命令进行检查。

自从
  build 791

前置条件
  间接断言：第一参数非空。

## ◆ YB_NONNULL() [2/4]

YB_ATTR_nodiscard YF_API YSLib::YB_NONNULL | ( | 1 | ,
|  | 2 |
| ) |  | const

载入 NPLA1 配置文件。

参数

  show_info | 是否在标准输出中显示信息。

前置条件
  间接断言：指针参数非空。

返回
  读取的配置。

注解
  预设行为、配置文件和配置项参考 Documentation::YSLib 。

自从
  build 450

被这些函数引用 YSLib::UI::empty() , 以及 YSLib::Environment::Environment().

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

## ◆ YB_NONNULL() [3/4]

YF_API YSLib::YB_NONNULL | ( | 2 |  | ) | &

related

查询第二参数指定名称的环境变量写入第一参数。

打印带有层次信息的需要保证无异常抛出的错误。

前置条件
  断言：参数非空。

注解
  若不存在则不修改第一参数。

返回
  是否修改第一参数。

自从
  build 659

参见
  YF_TraceRaw

注解
  若抛出异常，放弃层次信息，通过 YF_TraceRaw 打印错误消息。

前置条件
  间接断言：第二参数非空。

自从
  build 888

调用第一参数打印异常消息。

## ◆ YB_NONNULL() [4/4]

template<typename _type >

YB_PURE YSLib::YB_NONNULL | ( | 2 |  | ) |

计算满足指定的值 v 在区间 [`a`[i], `a[i + 1]`) 内最小的 i 。

计算满足指定的值 v 在区间 [s(i), s(i + 1)) 内的最小的 i ； 其中 s(i) 是 `a`[i] 前 i 项的和。

前置条件
  断言： `n != 0` 。
  间接断言： `a` 。
  断言： `!(v < *a)` 。

自从
  build 319

## ◆ yimpl() [1/2]

YF_API YSLib::yimpl | ( | GUIApplication & |  | ) |

取全局应用程序实例。

异常

  GeneralEvent | 不存在初始化完成的应用程序实例。

警告
  调用线程安全，但不保证调用结束后实例仍在生存期内。

自从
  build 550

被这些函数引用 NPL::A1::Forms::MakeEncapsulationType().

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

## ◆ yimpl() [2/2]

YB_ATTR_nodiscard YB_PURE typename YSLib::yimpl | ( | typename | = `ystdex::enable_if_inconvertible_t<_tString&&, const ValueNode::allocator_type&>` | ) | &&

## 变量说明

## ◆ _tParams

YB_ATTR_nodiscard YB_PURE typename YSLib::_tParams

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

被这些函数引用 ystdex::call_once_init< YSLib::GUIApplication::InitBlock, once_flag >::call_once_init(), NPL::A1::Forms::CallBinary(), NPL::A1::Forms::CallBinaryAs(), NPL::A1::Forms::CallRawUnary(), NPL::A1::Forms::CallRegularUnaryAs(), NPL::A1::Forms::CallResolvedUnaryAs(), NPL::A1::Forms::CallUnary(), NPL::A1::Forms::CallUnaryAs(), YSLib::IO::CopyTree(), CHRLib::FetchMapper_Default(), YSLib::UI::GWidgetRegister< const YSLib::Drawing::Rect & >::GetRegister(), YSLib::UI::GWidgetInserterRegister< IWidget & >::GetRegister(), NPL::ImplRet(), ystdex::invoke_for_value(), ystdex::invoke_nonvoid(), ystdex::pack_shared_task(), ystdex::pack_task(), ystdex::retry_on_cond(), ystdex::uses_allocator_construction_args() , 以及 ystdex::task_pool::wait_to_enqueue().

## ◆ a

_type s * YSLib::a

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

被这些函数引用 NPL::A1::SeparatorTransformer::AddRange(), ystdex::alloc_on_copy(), ystdex::allocate_unique(), NPL::Environment::AllocateEnvironment(), NPL::AllocateEnvironment(), NPL::SContext::Analyze(), ystdex::any::any(), AsNode(), NPL::AsTermNode(), YSLib::Drawing::Shaders::BlendCore(), YSLib::UI::ATrack::CheckArea(), ystdex::clone_monomorphic(), ystdex::clone_monomorphic_ptr(), YSLib::Drawing::Shaders::GBlender< _tPixel, ystdex::when< _bCond > >::Composite(), YSLib::Drawing::Shaders::GBlender< _tPixel, EnableForMask< _tPixel, XYZATraits< 5, 5, 5, 1 > > >::Composite(), YSLib::Drawing::Shaders::Composite(), YSLib::Drawing::Shaders::CompositeComponent(), YSLib::Drawing::Shaders::GPixelCompositor< 2, 0 >::CompositeComponentOver(), YSLib::Drawing::Shaders::GPixelCompositor< _vDstAlphaBits, 1 >::CompositeComponentOver(), YSLib::Drawing::Shaders::GPixelCompositor< 1, _vSrcAlphaBits >::CompositeComponentOver(), YSLib::Drawing::Shaders::GPixelCompositor< 1, 1 >::CompositeComponentOver(), YSLib::UI::Console::Console(), ystdex::details::list_rep< _type, std::allocator< _type > >::construct_node(), ystdex::details::rb_tree::tree< key_type, value_type, first_of<>, key_compare, allocator_type >::construct_node(), ystdex::create_or_throw_with_allocator(), ystdex::details::create_or_throw_with_allocator_impl(), ystdex::create_with_allocator(), YSLib::HolderOperations< _tHolder >::CreateInPlace(), YSLib::HolderOperations< _tHolder >::CreateInPlaceConditionally(), YSLib::HolderOperations< _tHolder >::CreateInPlaceWithAllocatorImpl(), NPL::Decompose(), ystdex::details::node_handle_base< _type, _tNodeAlloc >::destroy(), ystdex::any::do_alloc_init(), ystdex::any::do_alloc_init_impl(), ystdex::details::any_emplace< any >::emplace(), YSLib::ValueObject::emplace(), ystdex::details::any_emplace< any >::emplace_with_handler(), ystdex::details::any_emplace< any >::emplace_with_tag(), EmplaceCallResult(), FetchSign(), FetchSignFromInterval(), NPL::A1::Forms::ForwardListFirst(), ystdex::function_base< _tTraits, _tRet(_tParams...)>::function_base(), YSLib::GEvent< _tRet(_tParams...), _tInvoker >::GEvent(), NPL::ImplRet(), ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tHolder >::init(), ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tHolder >::init_or_throw(), ystdex::function_base< _tTraits, _tRet(_tParams...)>::invoker< _tHandler >::invoke(), IsInClosedInterval(), IsInInterval(), IsInOpenInterval(), platform::IsNodeShared(), ystdex_swap::iter_swap(), NPL::A1::Forms::LoadModule_SHBuild(), main(), ystdex::make_allocator_guard(), ystdex::make_obj_using_allocator(), NPL::A1::Forms::MakeEncapsulationType(), NPL::A1::Forms::MakeEnvironment(), CHRLib::MakeMBCS(), MakeNode(), CHRLib::Transcoding< _vFrom, _vTo, _tDispatcher >::MakeTranscoded(), CHRLib::Transcoding< _vFrom, CharSet::Null, _tDispatcher >::MakeTranscoded(), CHRLib::MakeUCS2LE(), CHRLib::MakeUCS4LE(), CHRLib::Transcoding< _vFrom, _vTo, _tDispatcher >::MakeViewTranscoded(), CHRLib::Transcoding< _vFrom, CharSet::Null, _tDispatcher >::MakeViewTranscoded(), ystdex::any_ops::allocator_value_handler< _tByteAlloc, _tHolder >::manage(), ystdex::cpp2014::max(), ystdex::cpp2014::min(), ystdex::details::any_base::move_from(), ystdex::pmr::operator!=(), ystdex::details::uaa_func< _type, _tAlloc >::operator()(), ystdex::any::operator=(), ystdex::pmr::operator==(), NPL::A1::ParseLeaf(), NPL::A1::ParseLeafWithSourceInformation(), NPL::PDefH(), NPL::SContext::Reduce(), NPL::A1::Internals::ReduceForCombinerRef(), RestrictInClosedInterval(), RestrictInInterval(), RestrictLessEqual(), ystdex::share_copy(), ystdex::share_forward(), ystdex::share_move(), ystdex::stream_equal(), ystdex::streambuf_equal(), StringifyToNode(), ystdex_swap::swap(), ystdex::details::any_base::swap(), ystdex::any::swap(), NPL::ToReducer(), NPL::TransformToSyntaxNode(), ystdex::uninitialized_construct_using_allocator(), ystdex::unique_copy(), ystdex::unique_forward(), ystdex::unique_move(), ystdex::details::uses_allocator_args(), ystdex::uses_allocator_construction_args(), NPL::A1::WrapContextHandler() , 以及 CHRLib::YB_NONNULL().

## ◆ Activate

YSLib::Activate

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

被这些函数引用 Execute(), YSLib::UI::ImplDeDtor(), YReader::ShlTextReader::StartAutoScroll() , 以及 YSLib::Timers::Timer::Timer().

## ◆ args

YB_ATTR_nodiscard YB_PURE typename _tParams&& YSLib::args

初始值:
{
return {NoContainer, yforward(str), yforward(args)...}

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

被这些函数引用 YSLib::ValueNode::AccessChild(), AccessChild(), AccessChildPtr(), AsNode(), YSLib::Drawing::BlendRectRaw(), YSLib::Drawing::BlitRectLines(), YSLib::Drawing::BlitRectPixels(), CollectNodes(), YSLib::Drawing::CompositeRectRaw(), YSLib::IO::CopyTree(), YSLib::AllocatedHolderOperations< _tHolder, _tByteAlloc >::Create(), YSLib::AllocatedHolderOperations< _tHolder, _tByteAlloc >::CreateDispatched(), YSLib::HolderOperations< _tHolder >::CreateInPlace(), YSLib::HolderOperations< _tHolder >::CreateInPlaceConditionally(), YSLib::HolderOperations< _tHolder >::CreateInPlaceImpl(), YSLib::HolderOperations< _tHolder >::CreateInPlaceWithAllocatorImpl(), YSLib::UI::Styles::StyleMap::DefGetter(), YSLib::ValueObject::emplace(), EmplaceIfEmpty(), YSLib::Messaging::MessageQueue::empty(), YSLib::Drawing::FillRectRaw(), YSLib::GHEvent< _tRet(_tParams...)>::GHEvent(), YSLib::GHandlerRegisterBase< GWidgetRegister< _tParams... >, string, GWidgetCreator< _tParams... > >::if(), MakeNode(), YSLib::Text::OpenSkippedBOMtream(), YSLib::HolderOperations< _tHolder >::CreateInPlaceFunctor::operator()(), YSLib::AllocatedHolderOperations< _tHolder, _tByteAlloc >::CreateInPlaceFunctor::operator()(), YSLib::CountedHandlerInvoker::operator()(), YSLib::GCombinerInvoker< _type, _tCombiner >::operator()(), PackNodes(), YSLib::ValueNode::Place(), YSLib::ValueNode::PlaceUnchecked(), YSLib::ValueNode::PlaceValue(), YSLib::Drawing::PutChar(), YSLib::Drawing::PutText(), StringifyToNode(), YSLib::UI::Styles::StyleMap::StyleMap(), YSLib::IO::TraverseTree(), YSLib::ValueNode::try_emplace(), YSLib::ValueNode::try_emplace_hint() , 以及 TryInvoke().

## ◆ creator

YB_ATTR_nodiscard YF_API const char ValueNode(* YSLib::creator) ()

在文件 Initialization.h 第 116 行定义.

被这些函数引用 LoadConfiguration() , 以及 LoadNPLA1File().

## ◆ FetchGUIHost

YSLib::FetchGUIHost

在文件 GUIApplication.h 第 297 行定义.

被这些函数引用 Execute() , 以及 YSLib::Shells::GUIShell::OnInput().

## ◆ i

return YSLib::i

在文件 YCoreUtilities.h 第 177 行定义.

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::append_default(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::assign_fill(), ystdex::details::list_rep< _type, std::allocator< _type > >::assign_range(), ystdex::map< VisualEvent, EventItem >::at_impl(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::back(), ystdex::cache_lookup(), NPL::A1::Forms::CallBinary(), NPL::A1::Forms::CallBinaryAs(), NPL::A1::Forms::CallBinaryFold(), ystdex::cast_mutable(), CHRLib::CheckIterator(), YReader::Cleanup(), YSLib::Drawing::CompactPixmapEx::CompactPixmapEx(), NPL::A1::Forms::Cond(), ystdex::construct(), ystdex::construct_default(), NPL::SXML::ConvertAttributeNodeString(), CHRLib::ConvertCharacter(), NPL::SXML::ConvertDocumentNode(), YSLib::Text::CopySliceFrom(), ystdex::pmr::oversized_map::deallocate(), YSLib::GUIApplication::DealMessage(), CHRLib::GUCSMapper< CharSet::GBK >::Decode(), CHRLib::GUCSMapper< CharSet::UTF_8 >::Decode(), CHRLib::GUCSMapper< CharSet::UTF_16BE >::Decode(), CHRLib::GUCSMapper< CharSet::UTF_16LE >::Decode(), CHRLib::GUCSMapper< CharSet::UTF_32BE >::Decode(), CHRLib::GUCSMapper< CharSet::UTF_32LE >::Decode(), DecodeIndex(), NPL::DecomposeMakefileDepList(), ystdex::destruct(), ystdex::used_list_cache< CacheKey, shared_ptr< Image >, CacheHash >::emplace(), ystdex::mapped_set< ValueNode, ystdex::less<>, MappedSetTraits, allocator_type >::emplace_hint_impl(), ystdex::mapped_set< ValueNode, ystdex::less<>, MappedSetTraits, allocator_type >::emplace_search(), ystdex::details::ends_with_iter_dispatch(), YSLib::IO::EnsureDirectory(), ystdex::erase_first(), ystdex::erase_n(), ystdex::nodep::bitseg_traits< _vSize >::extract(), ystdex::nodep::ordered_bitseg_traits< _tTraits, _vSeq >::extract(), YReader::FetchEncodingString(), YReader::FetchImage(), CHRLib::FillByte(), ystdex::used_list_cache< CacheKey, shared_ptr< Image >, CacheHash >::find(), ystdex::mapped_set< ValueNode, ystdex::less<>, MappedSetTraits, allocator_type >::find(), NPL::A1::Forms::ForwardListFirst(), platform::FwdIter(), platform::FAT::EntryData::GenerateAlias(), YSLib::Drawing::FontCache::GetFontFamilyPtr(), YSLib::UI::TreeList::GetIndentWidth(), YSLib::UI::GetMappedEvent(), YSLib::UI::TreeList::GetNodePath(), YSLib::Text::TextFileBuffer::GetPosition(), YSLib::GHandlerRegisterBase< GWidgetRegister< _tParams... >, string, GWidgetCreator< _tParams... > >::GetRegister(), NPL::A1::Forms::If(), YSLib::Drawing::ImplDeDtor(), ystdex::indirect_input_iterator< _tIter >::indirect_input_iterator(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::insert(), ystdex::map< VisualEvent, EventItem >::insert_or_assign_hint_impl(), ystdex::details::list_rep< _type, std::allocator< _type > >::insert_range(), ystdex::insert_reversed(), ystdex::mapped_set< ValueNode, ystdex::less<>, MappedSetTraits, allocator_type >::insert_unique_impl(), IsInClosedInterval(), IsInInterval(), IsInOpenInterval(), ystdex::mapped_set< ValueNode, ystdex::less<>, MappedSetTraits, allocator_type >::iter_trans(), NPL::A1::Forms::LoadModule_SHBuild(), YSLib::Drawing::FontCache::LoadTypefaces(), YSLib::UI::LocateForTrace(), YSLib::Drawing::HMultiBitmap::Lock(), YSLib::Drawing::Typeface::LookupGlyphIndex(), YSLib::Drawing::Typeface::LookupSize(), main(), ystdex::prototyped_iterator< _type, _fUpdater >::make_prototyped_iterator(), ystdex::cpp2014::make_reverse_iterator(), ystdex::transformed_iterator< _tIter, _fTrans, _tReference >::make_transform(), ystdex::transposed_iterator< _tIter >::make_transposed(), ystdex::make_transposed(), NPL::A1::Forms::MakeEnvironment(), MakeIndex(), CHRLib::MBCToUC(), YSLib::UI::Menu::Menu(), ystdex::details::rb_tree::tree< key_type, value_type, first_of<>, key_compare, allocator_type >::merge_equal(), ystdex::path< _tSeqCon, _tTraits >::merge_parents(), ystdex::details::rb_tree::tree< key_type, value_type, first_of<>, key_compare, allocator_type >::merge_unique(), YSLib::UI::Panel::MoveToFront(), ystdex::next_if(), ystdex::next_if_eq(), NPL::NPLUnescape(), YSLib::GCombinerInvoker< _type, _tCombiner >::operator()(), ystdex::iterator_transformation::first< _tIter >::operator()(), ystdex::iterator_transformation::first< void >::operator()(), ystdex::iterator_transformation::indirect< _tIter >::operator()(), ystdex::iterator_transformation::indirect< void >::operator()(), ystdex::iterator_transformation::second< _tIter >::operator()(), ystdex::iterator_transformation::second< void >::operator()(), NPL::A1::SeparatorTransformer::operator()(), YSLib::UI::Menu::operator-=(), ystdex::map< VisualEvent, EventItem >::operator[](), ystdex::operator|(), ystdex::prev_if(), ystdex::prev_if_eq(), YSLib::UI::TreeList::QueryNodeState(), NPL::A1::QueryTypeName(), YSLib::Drawing::RectDrawArrow(), YSLib::Drawing::RectDrawArrowOutline(), YSLib::Drawing::RectDrawCornerArrow(), NPL::A1::ReduceChildrenOrdered(), NPL::A1::ReduceTail(), ystdex::recent_used_list< _tKey, _tMapped, _tAlloc >::refresh(), ystdex::details::list_rep< _type, std::allocator< _type > >::remove(), ystdex::details::list_rep< _type, std::allocator< _type > >::remove_if(), ystdex::replace_value(), YSLib::ArgumentsVector::Reset(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::resize(), ystdex::details::list_rep< _type, std::allocator< _type > >::resize_pos(), RestrictInInterval(), ystdex::search_map(), YSLib::UI::TextList::SetSelected(), YReader::ShlTextReader::SettingSession::SettingSession(), ystdex::transposed_iterator< _tIter >::share_sequence(), YSLib::UI::Menu::ShowSub(), ystdex::details::list_rep< _type, std::allocator< _type > >::splice(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::splice(), ystdex::split(), ystdex::split_if(), ystdex::split_l(), ystdex::stable_unique(), YSLib::UI::Styles::StyleMap::Switch(), YSLib::UI::TabControl::SwitchPage(), ystdex::to_string(), ystdex::to_string_d(), ytest::timing::total(), ytest::timing::total_c(), NPL::A1::TransformNode(), YSLib::UI::TreeList::TreeList(), ystdex::try_emplace(), ystdex::try_emplace_hint(), ystdex::uninitialized_construct(), ystdex::uninitialized_construct_n(), platform_ex::UpdateKeyStates(), YSLib::UI::TabControl::UpdateTabPages(), CHRLib::VerifyUC() , 以及 CHRLib::GUCSMapper< CharSet::UTF_8 >::yforward().

## ◆ level

YF_API size_t YSLib::level = 0) ynothrow

在文件 YException.h 第 156 行定义.

被这些函数引用 platform::Logger::Log(), platform::Logger::LogFailure(), PerformKeyAction() , 以及 platform::Logger::TraceFormat().

## ◆ ListContainer

yconstexpr const struct YSLib::ListContainerTag YSLib::ListContainer

被这些函数引用 YSLib::NodeLiteral::AsNodeLiteral().

## ◆ lv

const char RecordLevel YSLib::lv

在文件 YException.cpp 第 61 行定义.

被这些函数引用 YSLib::UI::empty(), YSLib::Environment::Environment() , 以及 TraceForOutermost().

## ◆ NoContainer

yconstexpr const struct YSLib::NoContainerTag YSLib::NoContainer

被这些函数引用 NPL::Environment::AddValue(), AsNode(), NPL::AsTermNode(), NPL::Environment::DefDeMoveAssignment(), YSLib::ValueNode::MappedSetTraits::extend_key(), MakeNode(), NPL::Environment::PDefHOp(), YSLib::ValueNode::PlaceValue(), NPL::A1::SetupTraceDepth(), YSLib::ValueNode::SplitChildren(), StringifyToNode() , 以及 NPL::TransformToSyntaxNode().

## ◆ path

YB_ATTR_nodiscard YF_API const char* YSLib::path

在文件 Initialization.h 第 116 行定义.

被这些函数引用 platform::FAT::CheckColons(), platform::FAT::LFN::ConvertToMBCS(), platform::IsDirectory(), platform::IterateLink(), YSLib::Drawing::ImageCodec::LoadForPlaying(), YSLib::Drawing::ImageCodec::LoadSequence(), platform::ReadLink(), platform::uaccess(), YSLib::IO::VerifyDirectory() , 以及 YSLib::IO::YB_NONNULL().

## ◆ RecordLevel

YF_API YSLib::RecordLevel = Err

在文件 YException.h 第 148 行定义.

## ◆ shared_ptr< Shell >

YSLib::shared_ptr< Shell > = make_shared<Shells::GUIShell>())

在文件 GUIApplication.h 第 298 行定义.

被这些函数引用 PostQuitMessage().

## ◆ show_info

YB_ATTR_nodiscard YF_API const char ValueNode(*) boo YSLib::show_info) = {})

在文件 Initialization.h 第 117 行定义.

被这些函数引用 LoadConfiguration() , 以及 LoadNPLA1File().

## ◆ size_t

YF_API const char YSLib::size_t = 0) ynothrow

在文件 YException.h 第 149 行定义.

被这些函数引用 YSLib::UI::AMUnitList::AdjustViewLengthForHeight(), YSLib::Drawing::BlitScaleComponent(), YSLib::UI::AMUnitList::CheckPoint(), DecodeIndex(), YSLib::Drawing::FontCache::LoadTypefaces(), YSLib::FPSCounter::Refresh(), YSLib::ArgumentsVector::Reset() , 以及 YSLib::UI::TreeList::TreeList().

## ◆ str

const char* YSLib::str

在文件 YException.cpp 第 60 行定义.

被这些函数引用 AsNode(), YSLib::UI::CallInputEvent(), NPL::SXML::ConvertDocumentNode(), YSLib::Drawing::DrawClippedText(), YSLib::Drawing::DrawText(), YSLib::Environment::Environment(), FetchCommandOutput(), YSLib::Drawing::FetchMaxTextWidth(), YSLib::Drawing::FetchStringOffsets(), YSLib::Drawing::FetchStringWidth(), YSLib::ValueNode::MappedSetTraits::get_value_key(), YSLib::IO::PathTraits::has_root_name(), YSLib::IO::PathTraits::has_root_path(), YSLib::IO::ImplExpr(), YSLib::IO::ImplRet(), YSLib::IO::PathTraits::is_absolute(), MakeIndex(), MakeNode(), YSLib::IO::NormalizeDirectoryPathTail(), YSLib::UI::ParseRect(), PerformKeyAction(), YSLib::ValueNode::Place(), YSLib::ValueNode::PlaceUnchecked(), YSLib::ValueNode::PlaceValue(), YSLib::Drawing::PrintLine(), YSLib::Drawing::PrintString(), YSLib::Drawing::PutLine(), YSLib::Drawing::PutString(), StringifyToNode(), NPL::A1::ThrowInvalidSyntaxError() , 以及 TranslateTime().

## ◆ UnpackToNode

YB_ATTR_nodiscard YB_PURE YSLib::UnpackToNode

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

被这些函数引用 PackNodes().

## ◆ vo

YSLib::vo

在文件 YApplication.h 第 231 行定义.

被这些函数引用 YSLib::ValueObject::AccessPtr(), AccessPtr(), NPL::A1::BindParameter(), NPL::Environment::Define(), NPL::Environment::DefineChecked(), EmplaceCallResult(), EmplaceIfEmpty(), NPL::A1::Forms::ForwardListFirst(), NPL::ImplDeDtor(), NPL::A1::QuerySourceInformation(), NPL::Environment::Replace(), NPL::Environment::ReplaceChecked(), NPL::ResolveEnvironment() , 以及 SetContentWith().

## ◆ ynothrow

YB_PURE const _type size_t n YSLib::ynothrow

初始值:
{
YAssert(n != 0, "Zero length of array found.")

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

被这些函数引用 YSLib::GUIApplication::DealMessage().

YAssert
#define YAssert(_expr, _msg)
Definition: cassert.h:154
yforward
#define yforward(_expr)
根据参数类型使用 std::forward 转发对应参数。
Definition: ydef.h:1508
YSLib::Text::str
YB_ATTR_nodiscard YB_PURE const char const char * str
Definition: TextFile.h:83
YSLib::args
YB_ATTR_nodiscard YB_PURE typename _tParams && args
Definition: ValueNode.h:1299
YSLib::NoContainer
yconstexpr const struct YSLib::NoContainerTag NoContainer