YSTest: YSLib::Application类 参考

YSTest PreAlpha_b800_20170810 The YSLib Test Project

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

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

Public 成员函数 | Protected 属性 | Private 成员函数 | Private 属性 | 所有成员列表
YSLib::Application类 参考

程序实例。 更多...

`#include <YApplication.h>`

类 YSLib::Application 继承关系图:
[图例]
YSLib::Application 的协作图:
[图例]

## Public 成员函数

| Application ()
| 无参数构造：默认构造。 更多...
| ~Application () override
| 析构：释放 Shell 所有权和其它资源。 更多...
| DefGetter (const ynothrow, shared_ptr< Shell >, ShellHandle, hShell) template< typename _func > auto AccessQueue(_func f) -> decltype(f(qMain))
| 取得线程空间中当前运行的 Shell 的句柄。 更多...
void | OnGotMessage (const Message &) override
| 处理消息：分发消息。 更多...
bool | Switch (shared_ptr< Shell > &) ynothrow
| 切换：若参数非空，和线程空间中当前运行的 Shell 的句柄交换。 更多...
template<typename _tParam >
void | AddExit (_tParam &&arg)
template<typename _func >
void | AddExitGuard (_func f)
template<typename _tParam >
locked_ptr< ystdex::decay_t< _tParam >, recursive_mutex > | LockAddExit (_tParam &&arg)
| 锁定添加的初始化守护。 更多...

## Protected 属性

MessageQueue | qMain {}
shared_ptr< Shell > | hShell {}
| 当前 Shell 句柄：指示当前线程空间中运行的 Shell 。 更多...

## Private 成员函数

template<typename _tParam >
void | PushExit (_tParam &&arg)

## Private 属性

stack< ystdex::any > | on_exit {}
| 初始化守护。 更多...
recursive_mutex | on_exit_mutex {}
recursive_mutex | queue_mutex {}

## 详细描述

程序实例。

自从
  build 243

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

## 构造及析构函数说明

YSLib::Application::Application | ( |  | ) |

无参数构造：默认构造。

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

YSLib::Application::~Application | ( |  | ) |

override

析构：释放 Shell 所有权和其它资源。

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

参考 hShell, platform::Descriptions::Notice, on_exit, qMain, YSLib::YAssert() , 以及 YTraceDe.

函数调用图:

## 成员函数说明

template<typename _tParam >

void YSLib::Application::AddExit | ( | _tParam && | arg | ) |

inline

前置条件
  参数调用无异常抛出。

注解
  线程安全：全局互斥访问。

自从
  build 693

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

参考 yforward.

参考自 YSLib::Environment::Environment() , 以及 YSLib::LoadComponents().

这是这个函数的调用关系图:
template<typename _func >

void YSLib::Application::AddExitGuard | ( | _func | f | ) |

inline

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

参考 CHRLib::f() , 以及 TryExpr.

函数调用图:

YSLib::Application::DefGetter | ( | const ynothrow | ,
|  | shared_ptr< Shell > | ,
|  | ShellHandle | ,
|  | hShell |
| ) |  | -> decltype(f(qMain))

inline

取得线程空间中当前运行的 Shell 的句柄。

执行消息队列操作。

注解
  线程安全：全局消息队列互斥访问。

自从
  build 481

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

参考 CHRLib::f().

函数调用图:
template<typename _tParam >

locked_ptr<ystdex::decay_t<_tParam>, recursive_mutex> YSLib::Application::LockAddExit | ( | _tParam && | arg | ) |

inline

锁定添加的初始化守护。

注解
  线程安全：全局初始化守护互斥访问。

自从
  build 481

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

参考 yforward.

void YSLib::Application::OnGotMessage | ( | const Message & | msg | ) |

override

处理消息：分发消息。

前置条件
  断言：当前 Shell 句柄有效。

异常

  捕获并忽略 | Messaging::MessageSignal ，其它异常中立。

自从
  build 317

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

参考 CatchExpr, CatchIgnore, platform::Deref(), CHRLib::e, platform::Descriptions::Emergent, YSLib::ExtractAndTrace(), TryExpr , 以及 YTraceDe.

参考自 YSLib::GUIApplication::DealMessage().

函数调用图:

这是这个函数的调用关系图:
template<typename _tParam >

void YSLib::Application::PushExit | ( | _tParam && | arg | ) |

inlineprivate

自从
  build 725

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

参考 yforward.

bool YSLib::Application::Switch | ( | shared_ptr< Shell > & | h | ) |

切换：若参数非空，和线程空间中当前运行的 Shell 的句柄交换。

返回
  参数是否有效。

自从
  build 295

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

参考 ystdex::swap() , 以及 YB_LIKELY.

参考自 YSLib::Shells::Shell::DefShlProc().

函数调用图:

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

## 类成员变量说明

shared_ptr<Shell> YSLib::Application::hShell {}

protected

当前 Shell 句柄：指示当前线程空间中运行的 Shell 。

注解
  全局单线程，生存期与进程相同。

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

参考自 ~Application().

stack<ystdex::any> YSLib::Application::on_exit {}

private

初始化守护。

自从
  build 693

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

参考自 ~Application().

recursive_mutex YSLib::Application::on_exit_mutex {}

private

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

MessageQueue YSLib::Application::qMain {}

protected

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

参考自 ~Application().

recursive_mutex YSLib::Application::queue_mutex {}

private

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

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

- YApplication.h
- YApplication.cpp