cpp-mirai-client
v2.6.1
cpp client for mirai-api-http
|
消息链对象,由一系列消息元素组成 更多...
#include <MessageChain.hpp>
类 | |
class | MessageElement |
消息元素对象 更多... | |
struct | SourceInfo |
消息来源信息 更多... | |
Public 成员函数 | |
MessageChain ()=default | |
MessageChain (const MessageChain &rhs) | |
MessageChain & | operator= (const MessageChain &rhs) |
MessageChain (MessageChain &&rhs) noexcept | |
MessageChain & | operator= (MessageChain &&rhs) noexcept |
~MessageChain ()=default | |
template<typename MessageType > | |
MessageChain & | push_back (MessageType &&m) |
在消息链结尾添加消息元素 更多... | |
template<typename MessageType , typename... Args> | |
MessageChain & | emplace_back (Args &&... args) |
在消息链结尾直接构造消息元素 更多... | |
template<MessageTypes Type, typename... Args> | |
MessageChain & | emplace_back (Args &&... args) |
在消息链结尾直接构造消息元素 更多... | |
template<typename MessageType > | |
iterator | insert (const_iterator pos, MessageType &&m) |
在消息链中插入元素 更多... | |
template<typename MessageType , typename... Args> | |
iterator | emplace (const_iterator pos, Args &&... args) |
在消息链中插入元素 更多... | |
template<MessageTypes Type, typename... Args> | |
iterator | emplace (const_iterator pos, Args &&... args) |
在消息链中插入元素 更多... | |
MessageTypes | GetType (size_type i) const |
获取指定下标处的消息类型 更多... | |
template<typename MessageType > | |
std::vector< MessageType > | GetAll () const |
获取所有指定类型的消息元素 更多... | |
template<MessageTypes Type> | |
auto | GetAll () const |
获取所有指定类型的消息元素 更多... | |
std::optional< SourceInfo > | GetSourceInfo () const |
获取消息链中的来源信息 更多... | |
void | RemoveInvalid () |
去除消息链中的无效消息 更多... | |
bool | valid () const |
检查消息链是否有效 更多... | |
template<typename... Args> | |
MessageChain & | App (Args &&... args) |
在消息链结尾构造 AppMessage ,返回自身的引用 更多... | |
template<typename... Args> | |
MessageChain & | AtAll (Args &&... args) |
在消息链结尾构造 AtAllMessage ,返回自身的引用 更多... | |
template<typename... Args> | |
MessageChain & | At (Args &&... args) |
在消息链结尾构造 AtMessage ,返回自身的引用 更多... | |
template<typename... Args> | |
MessageChain & | Audio (Args &&... args) |
在消息链结尾构造 AudioMessage ,返回自身的引用 更多... | |
template<typename... Args> | |
MessageChain & | Dice (Args &&... args) |
在消息链结尾构造 DiceMessage ,返回自身的引用 更多... | |
template<typename... Args> | |
MessageChain & | Face (Args &&... args) |
在消息链结尾构造 FaceMessage ,返回自身的引用 更多... | |
template<typename... Args> | |
MessageChain & | Flash (Args &&... args) |
在消息链结尾构造 FlashImageMessage ,返回自身的引用 更多... | |
template<typename... Args> | |
MessageChain & | Image (Args &&... args) |
在消息链结尾构造 ImageMessage ,返回自身的引用 更多... | |
template<typename... Args> | |
MessageChain & | Json (Args &&... args) |
在消息链结尾构造 JsonMessage ,返回自身的引用 更多... | |
template<typename... Args> | |
MessageChain & | MiraiCode (Args &&... args) |
在消息链结尾构造 MiraiCodeMessage ,返回自身的引用 更多... | |
template<typename... Args> | |
MessageChain & | Plain (Args &&... args) |
在消息链结尾构造 PlainMessage ,返回自身的引用 更多... | |
template<typename... Args> | |
MessageChain & | Poke (Args &&... args) |
在消息链结尾构造 PokeMessage ,返回自身的引用 更多... | |
template<typename... Args> | |
MessageChain & | Xml (Args &&... args) |
在消息链结尾构造 XmlMessage ,返回自身的引用 更多... | |
template<typename... Args> | |
MessageChain & | Forward (Args &&... args) |
在消息链结尾插入 ForwardMessage ,返回自身的引用 更多... | |
MessageChain & | operator+= (const MessageChain &rhs) |
MessageChain & | operator+= (MessageChain &&rhs) |
MessageChain & | operator+= (const MessageElement &m) |
MessageChain & | operator+= (MessageElement &&m) |
template<typename MessageType > | |
auto | operator+= (MessageType &&m) -> std::enable_if_t< traits::is_message_type< std::decay_t< MessageType > >::value, MessageChain & > |
template<typename MessageType > | |
MessageType & | GetAt (size_type i) |
获取指定下标处的消息 更多... | |
template<typename MessageType > | |
const MessageType & | GetAt (size_type i) const |
获取指定下标处的消息 更多... | |
template<MessageTypes Type> | |
GetType_t< Type > & | GetAt (size_type i) |
获取指定下标处的消息 更多... | |
template<MessageTypes Type> | |
const GetType_t< Type > & | GetAt (size_type i) const |
获取指定下标处的消息 更多... | |
template<typename MessageType > | |
std::vector< std::reference_wrapper< MessageType > > | GetAllRef () |
获取所有指定类型的消息元素的引用 更多... | |
template<typename MessageType > | |
std::vector< std::reference_wrapper< const MessageType > > | GetAllRef () const |
获取所有指定类型的消息元素的引用 更多... | |
template<MessageTypes Type> | |
auto | GetAllRef () |
获取所有指定类型的消息元素的引用 更多... | |
template<MessageTypes Type> | |
auto | GetAllRef () const |
获取所有指定类型的消息元素的引用 更多... | |
Protected 类型 | |
using | MessageContainer = std::vector< MessageElement > |
Protected 属性 | |
MessageContainer | message_ |
友元 | |
MessageChain | operator+ (const MessageChain &lhs, const MessageChain &rhs) |
拼接两个消息链 更多... | |
MessageChain | operator+ (const MessageChain &lhs, const MessageElement &m) |
MessageChain | operator+ (const MessageElement &m, const MessageChain &rhs) |
template<typename MessageType > | |
auto | operator+ (const MessageChain &lhs, MessageType &&m) -> std::enable_if_t< traits::is_message_type< std::decay_t< MessageType > >::value, MessageChain > |
template<typename MessageType > | |
auto | operator+ (MessageType &&m, const MessageChain &rhs) -> std::enable_if_t< traits::is_message_type< std::decay_t< MessageType > >::value, MessageChain > |
using | value_type = MessageContainer::value_type |
STL-like interface 更多... | |
using | allocator_type = MessageContainer::allocator_type |
STL-like interface 更多... | |
using | size_type = MessageContainer::size_type |
STL-like interface 更多... | |
using | difference_type = MessageContainer::difference_type |
STL-like interface 更多... | |
using | reference = MessageContainer::reference |
STL-like interface 更多... | |
using | const_reference = MessageContainer::const_reference |
STL-like interface 更多... | |
using | pointer = MessageContainer::pointer |
STL-like interface 更多... | |
using | const_pointer = MessageContainer::const_pointer |
STL-like interface 更多... | |
using | reverse_iterator = MessageContainer::reverse_iterator |
STL-like interface 更多... | |
using | const_reverse_iterator = MessageContainer::const_reverse_iterator |
STL-like interface 更多... | |
using | iterator = MessageContainer::iterator |
STL-like interface 更多... | |
using | const_iterator = MessageContainer::const_iterator |
STL-like interface 更多... | |
bool | empty () const noexcept |
STL-like interface 更多... | |
size_type | size () const noexcept |
STL-like interface 更多... | |
void | reserve (size_type new_cap) |
STL-like interface 更多... | |
void | shrink_to_fit () noexcept |
STL-like interface 更多... | |
size_type | max_size () const noexcept |
STL-like interface 更多... | |
size_type | capacity () const noexcept |
STL-like interface 更多... | |
void | clear () noexcept |
STL-like interface 更多... | |
iterator | erase (const_iterator pos) |
STL-like interface 更多... | |
iterator | erase (const_iterator first, const_iterator last) |
STL-like interface 更多... | |
void | pop_back () |
STL-like interface 更多... | |
void | resize (size_type count) |
STL-like interface 更多... | |
iterator | begin () noexcept |
STL-like interface 更多... | |
const_iterator | begin () const noexcept |
STL-like interface 更多... | |
const_iterator | cbegin () const noexcept |
STL-like interface 更多... | |
iterator | end () noexcept |
STL-like interface 更多... | |
const_iterator | end () const noexcept |
STL-like interface 更多... | |
const_iterator | cend () const noexcept |
STL-like interface 更多... | |
reverse_iterator | rbegin () noexcept |
STL-like interface 更多... | |
const_reverse_iterator | crbegin () const noexcept |
STL-like interface 更多... | |
reverse_iterator | rend () noexcept |
STL-like interface 更多... | |
const_reverse_iterator | crend () const noexcept |
STL-like interface 更多... | |
const_reference | operator[] (size_type n) const noexcept |
STL-like interface 更多... | |
reference | operator[] (size_type n) noexcept |
STL-like interface 更多... | |
const_reference | at (size_type n) const |
STL-like interface 更多... | |
reference | at (size_type n) |
STL-like interface 更多... | |
const_reference | back () const |
STL-like interface 更多... | |
reference | back () |
STL-like interface 更多... | |
const_reference | front () const |
STL-like interface 更多... | |
reference | front () |
STL-like interface 更多... | |
消息链对象,由一系列消息元素组成
可以使用类似STL容器的操作来访问各元素( std::vector<std::unique_ptr<MessageElement>>
)
在文件 MessageChain.hpp 第 60 行定义.
|
protected |
在文件 MessageChain.hpp 第 313 行定义.
using Mirai::MessageChain::value_type = MessageContainer::value_type |
STL-like interface
在文件 MessageChain.hpp 第 333 行定义.
using Mirai::MessageChain::allocator_type = MessageContainer::allocator_type |
STL-like interface
在文件 MessageChain.hpp 第 334 行定义.
using Mirai::MessageChain::size_type = MessageContainer::size_type |
STL-like interface
在文件 MessageChain.hpp 第 335 行定义.
using Mirai::MessageChain::difference_type = MessageContainer::difference_type |
STL-like interface
在文件 MessageChain.hpp 第 336 行定义.
using Mirai::MessageChain::reference = MessageContainer::reference |
STL-like interface
在文件 MessageChain.hpp 第 337 行定义.
using Mirai::MessageChain::const_reference = MessageContainer::const_reference |
STL-like interface
在文件 MessageChain.hpp 第 338 行定义.
using Mirai::MessageChain::pointer = MessageContainer::pointer |
STL-like interface
在文件 MessageChain.hpp 第 339 行定义.
using Mirai::MessageChain::const_pointer = MessageContainer::const_pointer |
STL-like interface
在文件 MessageChain.hpp 第 340 行定义.
using Mirai::MessageChain::reverse_iterator = MessageContainer::reverse_iterator |
STL-like interface
在文件 MessageChain.hpp 第 341 行定义.
using Mirai::MessageChain::const_reverse_iterator = MessageContainer::const_reverse_iterator |
STL-like interface
在文件 MessageChain.hpp 第 342 行定义.
using Mirai::MessageChain::iterator = MessageContainer::iterator |
STL-like interface
在文件 MessageChain.hpp 第 343 行定义.
using Mirai::MessageChain::const_iterator = MessageContainer::const_iterator |
STL-like interface
在文件 MessageChain.hpp 第 344 行定义.
|
default |
|
default |
|
noexcept |
在文件 MessageChain.cpp 第 36 行定义.
|
default |
MessageChain & Mirai::MessageChain::operator= | ( | const MessageChain & | rhs | ) |
在文件 MessageChain.cpp 第 27 行定义.
|
noexcept |
在文件 MessageChain.cpp 第 38 行定义.
|
inlinenoexcept |
STL-like interface
在文件 MessageChain.hpp 第 346 行定义.
|
inlinenoexcept |
STL-like interface
在文件 MessageChain.hpp 第 347 行定义.
|
inline |
STL-like interface
在文件 MessageChain.hpp 第 348 行定义.
|
inlinenoexcept |
STL-like interface
在文件 MessageChain.hpp 第 349 行定义.
|
inlinenoexcept |
STL-like interface
在文件 MessageChain.hpp 第 350 行定义.
|
inlinenoexcept |
STL-like interface
在文件 MessageChain.hpp 第 351 行定义.
|
inlinenoexcept |
STL-like interface
在文件 MessageChain.hpp 第 353 行定义.
|
inline |
STL-like interface
在文件 MessageChain.hpp 第 354 行定义.
|
inline |
STL-like interface
在文件 MessageChain.hpp 第 355 行定义.
|
inline |
STL-like interface
在文件 MessageChain.hpp 第 356 行定义.
|
inline |
STL-like interface
在文件 MessageChain.hpp 第 357 行定义.
|
inlinenoexcept |
STL-like interface
在文件 MessageChain.hpp 第 359 行定义.
|
inlinenoexcept |
STL-like interface
在文件 MessageChain.hpp 第 360 行定义.
|
inlinenoexcept |
STL-like interface
在文件 MessageChain.hpp 第 361 行定义.
|
inlinenoexcept |
STL-like interface
在文件 MessageChain.hpp 第 362 行定义.
|
inlinenoexcept |
STL-like interface
在文件 MessageChain.hpp 第 363 行定义.
|
inlinenoexcept |
STL-like interface
在文件 MessageChain.hpp 第 364 行定义.
|
inlinenoexcept |
STL-like interface
在文件 MessageChain.hpp 第 365 行定义.
|
inlinenoexcept |
STL-like interface
在文件 MessageChain.hpp 第 366 行定义.
|
inlinenoexcept |
STL-like interface
在文件 MessageChain.hpp 第 367 行定义.
|
inlinenoexcept |
STL-like interface
在文件 MessageChain.hpp 第 368 行定义.
|
inlinenoexcept |
STL-like interface
在文件 MessageChain.hpp 第 370 行定义.
STL-like interface
在文件 MessageChain.hpp 第 371 行定义.
|
inline |
STL-like interface
在文件 MessageChain.hpp 第 372 行定义.
STL-like interface
在文件 MessageChain.hpp 第 373 行定义.
|
inline |
STL-like interface
在文件 MessageChain.hpp 第 374 行定义.
|
inline |
STL-like interface
在文件 MessageChain.hpp 第 375 行定义.
|
inline |
STL-like interface
在文件 MessageChain.hpp 第 376 行定义.
|
inline |
STL-like interface
在文件 MessageChain.hpp 第 377 行定义.
|
inline |
在消息链结尾添加消息元素
类似 std::vector::push_back()
MessageType | 消息类型 |
m | 要添加的消息 |
在文件 MessageChain.hpp 第 392 行定义.
|
inline |
在消息链结尾直接构造消息元素
类似 std::vector::emplace_back()
。
MessageType | 消息类型 |
Args | 参数类型 |
args | 构造消息元素的参数 |
在文件 MessageChain.hpp 第 409 行定义.
|
inline |
在消息链结尾直接构造消息元素
类似 std::vector::emplace_back()
。
Type | MessageTypes |
Args | 参数类型 |
args | 构造消息元素的参数 |
在文件 MessageChain.hpp 第 426 行定义.
|
inline |
在消息链中插入元素
类似 std::vector::insert()
。
MessageType | 消息类型 |
pos | 插入位置 |
m | 要添加的消息 |
在文件 MessageChain.hpp 第 440 行定义.
|
inline |
在消息链中插入元素
类似 std::vector::emplace()
。
MessageType | 消息类型 |
Args | 参数类型 |
pos | 插入位置 |
args | 构造对应消息的参数 |
在文件 MessageChain.hpp 第 457 行定义.
|
inline |
在消息链中插入元素
Type | MessageTypes |
Args | 参数类型 |
pos | 插入位置 |
args | 构造对应消息的参数 |
在文件 MessageChain.hpp 第 472 行定义.
MessageChain & Mirai::MessageChain::operator+= | ( | const MessageChain & | rhs | ) |
拼接两个消息链
在文件 MessageChain.cpp 第 45 行定义.
MessageChain & Mirai::MessageChain::operator+= | ( | MessageChain && | rhs | ) |
拼接两个消息链
在文件 MessageChain.cpp 第 52 行定义.
MessageChain & Mirai::MessageChain::operator+= | ( | const MessageElement & | m | ) |
添加消息元素到消息链结尾
在文件 MessageChain.cpp 第 65 行定义.
MessageChain & Mirai::MessageChain::operator+= | ( | MessageElement && | m | ) |
添加消息元素到消息链结尾
在文件 MessageChain.cpp 第 71 行定义.
|
inline |
添加消息元素到消息链结尾
在文件 MessageChain.hpp 第 489 行定义.
|
inline |
获取指定下标处的消息
若消息类型与实际类型不匹配会抛出 TypeDismatchError
异常
MessageType | 消息类型 |
i | 下标 |
在文件 MessageChain.hpp 第 531 行定义.
|
inline |
获取指定下标处的消息
若消息类型与实际类型不匹配会抛出 TypeDismatchError
异常
MessageType | 消息类型 |
i | 下标 |
在文件 MessageChain.hpp 第 533 行定义.
|
inline |
获取指定下标处的消息
若消息类型与实际类型不匹配会抛出 TypeDismatchError
异常
Type | MessageTypes |
i | 下标 |
在文件 MessageChain.hpp 第 550 行定义.
|
inline |
获取指定下标处的消息
若消息类型与实际类型不匹配会抛出 TypeDismatchError
异常
Type | MessageTypes |
i | 下标 |
在文件 MessageChain.hpp 第 552 行定义.
|
inline |
|
inline |
获取所有指定类型的消息元素
该方法将拷贝消息元素
MessageType | 消息类型 |
std::vector<MessageType>
在文件 MessageChain.hpp 第 574 行定义.
|
inline |
获取所有指定类型的消息元素
该方法将拷贝消息元素
Type | 消息类型 |
std::vector<GetType_t<Type>>
在文件 MessageChain.hpp 第 593 行定义.
|
inline |
获取所有指定类型的消息元素的引用
MessageType | 消息类型 |
std::vector<std::reference_wrapper<MessageType>>
在文件 MessageChain.hpp 第 603 行定义.
|
inline |
获取所有指定类型的消息元素的引用
MessageType | 消息类型 |
std::vector<std::reference_wrapper<MessageType>>
在文件 MessageChain.hpp 第 615 行定义.
|
inline |
获取所有指定类型的消息元素的引用
Type | 消息类型 |
std::vector<std::reference_wrapper<GetType_t<Type>>>
在文件 MessageChain.hpp 第 637 行定义.
|
inline |
获取所有指定类型的消息元素的引用
Type | 消息类型 |
std::vector<std::reference_wrapper<GetType_t<Type>>>
在文件 MessageChain.hpp 第 639 行定义.
std::optional< MessageChain::SourceInfo > Mirai::MessageChain::GetSourceInfo | ( | ) | const |
void Mirai::MessageChain::RemoveInvalid | ( | ) |
bool Mirai::MessageChain::valid | ( | ) | const |
|
inline |
在消息链结尾构造 AppMessage
,返回自身的引用
在文件 MessageChain.hpp 第 671 行定义.
|
inline |
在消息链结尾构造 AtAllMessage
,返回自身的引用
在文件 MessageChain.hpp 第 677 行定义.
|
inline |
在消息链结尾构造 AtMessage
,返回自身的引用
在文件 MessageChain.hpp 第 683 行定义.
|
inline |
在消息链结尾构造 AudioMessage
,返回自身的引用
在文件 MessageChain.hpp 第 689 行定义.
|
inline |
在消息链结尾构造 DiceMessage
,返回自身的引用
在文件 MessageChain.hpp 第 695 行定义.
|
inline |
在消息链结尾构造 FaceMessage
,返回自身的引用
在文件 MessageChain.hpp 第 701 行定义.
|
inline |
在消息链结尾构造 FlashImageMessage
,返回自身的引用
在文件 MessageChain.hpp 第 707 行定义.
|
inline |
在消息链结尾构造 ImageMessage
,返回自身的引用
在文件 MessageChain.hpp 第 713 行定义.
|
inline |
在消息链结尾构造 JsonMessage
,返回自身的引用
在文件 MessageChain.hpp 第 719 行定义.
|
inline |
在消息链结尾构造 MiraiCodeMessage
,返回自身的引用
在文件 MessageChain.hpp 第 725 行定义.
|
inline |
在消息链结尾构造 PlainMessage
,返回自身的引用
在文件 MessageChain.hpp 第 731 行定义.
|
inline |
在消息链结尾构造 PokeMessage
,返回自身的引用
在文件 MessageChain.hpp 第 737 行定义.
|
inline |
在消息链结尾构造 XmlMessage
,返回自身的引用
在文件 MessageChain.hpp 第 743 行定义.
|
inline |
在消息链结尾插入 ForwardMessage
,返回自身的引用
在文件 MessageChain.hpp 第 749 行定义.
|
friend |
拼接两个消息链
在文件 MessageChain.cpp 第 78 行定义.
|
friend |
添加消息元素到消息链结尾
在文件 MessageChain.cpp 第 85 行定义.
|
friend |
添加消息元素到消息链结尾
在文件 MessageChain.hpp 第 502 行定义.
|
friend |
添加消息元素到消息链结尾
在文件 MessageChain.hpp 第 505 行定义.
|
friend |
添加消息元素到消息链结尾
在文件 MessageChain.hpp 第 512 行定义.
|
protected |
在文件 MessageChain.hpp 第 314 行定义.