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

YSTest PreAlpha_b800_20170810 The YSLib Test Project

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

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

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

消息队列。 更多...

`#include <YMessage.h>`

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

## Public 类型

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

## Public 成员函数

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

## Public 属性

| Priority
| MaxPriority

## 额外继承的成员函数

Private 成员函数 继承自 ystdex::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 第 154 行定义.

## 成员类型定义说明

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

自从
  build 449

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

## 成员函数说明

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

无参数构造：默认实现。

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

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

自从
  build 288

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

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

从消息队列中取优先级最高的消息存至 msg 中。

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

自从
  build 271

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

参考 ystdex::cpp2014::cbegin().

函数调用图:

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

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

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

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

参考 ystdex::cpp2014::cbegin().

函数调用图:

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

若消息有效，以指定优先级插入至消息队列中。

自从
  build 317

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

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

若消息有效，以指定优先级插入至消息队列中。

自从
  build 454

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

参考 platform::msg.

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

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

自从
  build 320

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

参考 ystdex::cpp2011::end().

函数调用图:

## 类成员变量说明

YSLib::Messaging::MessageQueue::MaxPriority

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

YSLib::Messaging::MessageQueue::Priority

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

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

- YMessage.h
- YMessage.cpp