YSTest: YSLib::Messaging::MessageQueue类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 类型 | Public 成员函数 | Public 属性 | 所有成员列表
YSLib::Messaging::MessageQueue类 参考

消息队列。 更多...

`#include <YMessage.h>`

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

## Public 类型

using | BaseType = YSLib::multimap< Priority, Message, std::greater< Priority > >

## Public 成员函数

| DefDeCtor (MessageQueue) DefDeDtor(MessageQueue) DefGetter(const ynothrow
| 无参数构造：默认实现。 更多...
| empty () ? 0
| 以参数指定的优先级插入按指定的参数构造的消息。 更多...
void | Merge (MessageQueue &)
| 合并消息队列：移动指定消息队列中的所有消息至此消息队列中。 更多...
void | Peek (Message &) const
| 从消息队列中取优先级最高的消息存至参数指定的消息中。 更多...
void | Pop ()
| 丢弃消息队列中优先级最高的消息。 更多...
void | Push (const Message &, Priority)
| 以指定优先级插入参数指定的消息至消息队列中。 更多...
void | Push (Message &&, Priority)
| 以指定优先级插入参数指定的消息至消息队列中。 更多...
void | Remove (Priority)
| 移除不大于指定优先级的消息。 更多...

## Public 属性

| Priority
| MaxPriority

## 额外继承的成员函数

Private 成员函数 继承自 ystdex::bases::noncopyable
| noncopyable (const noncopyable &)=delete
| 禁止复制构造。 更多...
| noncopyable (noncopyable &&)=default
| 允许转移构造。 更多...
noncopyable & | operator= (const noncopyable &)=delete
| 禁止复制赋值。 更多...
noncopyable & | operator= (noncopyable &&)=default
| 允许转移赋值。 更多...
| noncopyable ()=default
| `protected` 构造：默认实现。 更多...
| ~noncopyable ()=default
| `protected` 析构：默认实现。 更多...

## 详细描述

消息队列。

注解
  使用 multiset 模拟。

警告
  非虚析构。

自从
  build 211

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

## 成员类型定义说明

## ◆ BaseType

using YSLib::Messaging::MessageQueue::BaseType = YSLib::multimap<Priority, Message, std::greater<Priority> >

自从
  build 449

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

## 成员函数说明

## ◆ DefDeCtor()

YSLib::Messaging::MessageQueue::DefDeCtor | ( | MessageQueue |  | ) | const

无参数构造：默认实现。

取消息队列中消息的最大优先级。

返回
  若消息队列为空则 0 ，否则为最大优先级。

自从
  build 288

## ◆ empty()

YSLib::Messaging::MessageQueue::empty | ( |  | ) |

inline

以参数指定的优先级插入按指定的参数构造的消息。

自从
  build 888

在文件 YMessage.h 第 184 行定义.

引用了 YSLib::args , 以及 yforward.

被这些函数引用 YSLib::GUIApplication::DealMessage(), Peek() , 以及 Pop().

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

## ◆ Merge()

void YSLib::Messaging::MessageQueue::Merge | ( | MessageQueue & | mq | ) |

合并消息队列：移动指定消息队列中的所有消息至此消息队列中。

在文件 YMessage.cpp 第 46 行定义.

## ◆ Peek()

void YSLib::Messaging::MessageQueue::Peek | ( | Message & | msg | ) | const

从消息队列中取优先级最高的消息存至参数指定的消息中。

注解
  在队列中保留消息；不检查消息是否有效。

自从
  build 271

在文件 YMessage.cpp 第 56 行定义.

引用了 ystdex::cpp2014::cbegin() , 以及 empty().

函数调用图:

## ◆ Pop()

void YSLib::Messaging::MessageQueue::Pop | ( |  | ) |

丢弃消息队列中优先级最高的消息。

注解
  消息队列为空时忽略。

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

引用了 ystdex::cpp2014::cbegin() , 以及 empty().

函数调用图:

## ◆ Push() [1/2]

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

以指定优先级插入参数指定的消息至消息队列中。

自从
  build 317

在文件 YMessage.cpp 第 70 行定义.

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

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

## ◆ Push() [2/2]

void YSLib::Messaging::MessageQueue::Push | ( | Message && | msg,
|  | Priority | prior
| ) |  |

以指定优先级插入参数指定的消息至消息队列中。

自从
  build 454

在文件 YMessage.cpp 第 75 行定义.

## ◆ Remove()

void YSLib::Messaging::MessageQueue::Remove | ( | Priority | p | ) |

移除不大于指定优先级的消息。

自从
  build 320

在文件 YMessage.cpp 第 81 行定义.

引用了 ystdex::cpp2017::end() , 以及 platform::p.

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

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

## 类成员变量说明

## ◆ MaxPriority

YSLib::Messaging::MessageQueue::MaxPriority

在文件 YMessage.h 第 183 行定义.

## ◆ Priority

YSLib::Messaging::MessageQueue::Priority

在文件 YMessage.h 第 183 行定义.

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

- YMessage.h
- YMessage.cpp