cpp-mirai-client  v2.6.1
cpp client for mirai-api-http
Mirai::MessageChain::MessageElement类 参考

消息元素对象 更多...

#include <MessageChain.hpp>

Public 成员函数

MessageTypes type () const
 获取所含消息的类型 更多...
 
bool allowSend () const
 检查消息是否可以用于发送 更多...
 
bool valid () const
 检查消息是否有效 更多...
 
 MessageElement ()=default
 Constructors, conversion operators and destructor 更多...
 
 MessageElement (std::unique_ptr< IMessage > &&msg)
 Constructors, conversion operators and destructor 更多...
 
MessageElementoperator= (std::unique_ptr< IMessage > &&msg)
 Constructors, conversion operators and destructor 更多...
 
 MessageElement (const MessageElement &rhs)
 Constructors, conversion operators and destructor 更多...
 
MessageElementoperator= (const MessageElement &rhs)
 Constructors, conversion operators and destructor 更多...
 
 MessageElement (MessageElement &&) noexcept=default
 Constructors, conversion operators and destructor 更多...
 
MessageElementoperator= (MessageElement &&) noexcept=default
 Constructors, conversion operators and destructor 更多...
 
 ~MessageElement ()=default
 Constructors, conversion operators and destructor 更多...
 
 operator bool () const
 Constructors, conversion operators and destructor 更多...
 
template<typename MessageType , typename... Args, typename Type = std::decay_t<MessageType>, typename std::enable_if_t< traits::is_message_type< Type >::value, int > = 0>
 MessageElement (std::in_place_type_t< MessageType >, Args &&... args)
 Constructors, conversion operators and destructor 更多...
 
template<typename MessageType , typename Type = std::decay_t<MessageType>, typename std::enable_if_t< traits::is_message_type< Type >::value, int > = 0>
 MessageElement (MessageType &&m)
 Constructors, conversion operators and destructor 更多...
 
template<typename MessageType , typename Type = std::decay_t<MessageType>, typename std::enable_if_t< traits::is_message_type< Type >::value, int > = 0>
MessageElementoperator= (MessageType &&m)
 Constructors, conversion operators and destructor 更多...
 
 MessageElement (IMessage *m)
 Constructors, conversion operators and destructor 更多...
 
template<typename MessageType >
MessageType & as ()
 转换为某一特定类型的消息,类型错误时将抛出异常 更多...
 
template<typename MessageType >
const MessageType & as () const
 转换为某一特定类型的消息,类型错误时将抛出异常 更多...
 
template<typename Callable >
auto visit (Callable &&f)
 对此消息元素应用visitor,类似 std::visit 更多...
 
template<typename Callable >
auto visit (Callable &&f) const
 对此消息元素应用visitor,类似 std::visit 更多...
 

详细描述

消息元素对象

对不同消息类型的统一封装,储存着某一特定消息类型的对象

在文件 MessageChain.hpp91 行定义.

构造及析构函数说明

◆ MessageElement() [1/7]

Mirai::MessageChain::MessageElement::MessageElement ( )
default

Constructors, conversion operators and destructor

◆ MessageElement() [2/7]

Mirai::MessageChain::MessageElement::MessageElement ( std::unique_ptr< IMessage > &&  msg)
inlineexplicit

Constructors, conversion operators and destructor

在文件 MessageChain.hpp146 行定义.

◆ MessageElement() [3/7]

Mirai::MessageChain::MessageElement::MessageElement ( const MessageElement rhs)
inline

Constructors, conversion operators and destructor

在文件 MessageChain.hpp159 行定义.

◆ MessageElement() [4/7]

Mirai::MessageChain::MessageElement::MessageElement ( MessageElement &&  )
defaultnoexcept

Constructors, conversion operators and destructor

◆ ~MessageElement()

Mirai::MessageChain::MessageElement::~MessageElement ( )
default

Constructors, conversion operators and destructor

◆ MessageElement() [5/7]

template<typename MessageType , typename... Args, typename Type = std::decay_t<MessageType>, typename std::enable_if_t< traits::is_message_type< Type >::value, int > = 0>
Mirai::MessageChain::MessageElement::MessageElement ( std::in_place_type_t< MessageType >  ,
Args &&...  args 
)
inlineexplicit

Constructors, conversion operators and destructor

在文件 MessageChain.hpp183 行定义.

◆ MessageElement() [6/7]

template<typename MessageType , typename Type = std::decay_t<MessageType>, typename std::enable_if_t< traits::is_message_type< Type >::value, int > = 0>
Mirai::MessageChain::MessageElement::MessageElement ( MessageType &&  m)
inlineexplicit

Constructors, conversion operators and destructor

在文件 MessageChain.hpp190 行定义.

◆ MessageElement() [7/7]

Mirai::MessageChain::MessageElement::MessageElement ( IMessage m)
inlineexplicit

Constructors, conversion operators and destructor

在文件 MessageChain.hpp212 行定义.

成员函数说明

◆ operator=() [1/4]

MessageElement & Mirai::MessageChain::MessageElement::operator= ( std::unique_ptr< IMessage > &&  msg)
inline

Constructors, conversion operators and destructor

在文件 MessageChain.hpp151 行定义.

◆ operator=() [2/4]

MessageElement & Mirai::MessageChain::MessageElement::operator= ( const MessageElement rhs)
inline

Constructors, conversion operators and destructor

在文件 MessageChain.hpp164 行定义.

◆ operator=() [3/4]

MessageElement & Mirai::MessageChain::MessageElement::operator= ( MessageElement &&  )
defaultnoexcept

Constructors, conversion operators and destructor

◆ operator bool()

Mirai::MessageChain::MessageElement::operator bool ( ) const
inlineexplicit

Constructors, conversion operators and destructor

在文件 MessageChain.hpp179 行定义.

◆ operator=() [4/4]

template<typename MessageType , typename Type = std::decay_t<MessageType>, typename std::enable_if_t< traits::is_message_type< Type >::value, int > = 0>
MessageElement & Mirai::MessageChain::MessageElement::operator= ( MessageType &&  m)
inline

Constructors, conversion operators and destructor

在文件 MessageChain.hpp197 行定义.

◆ type()

MessageTypes Mirai::MessageChain::MessageElement::type ( ) const
inline

获取所含消息的类型

返回
MessageTypes

在文件 MessageChain.hpp221 行定义.

◆ allowSend()

bool Mirai::MessageChain::MessageElement::allowSend ( ) const
inline

检查消息是否可以用于发送

部分消息仅支持接收

返回
bool

在文件 MessageChain.hpp229 行定义.

◆ valid()

bool Mirai::MessageChain::MessageElement::valid ( ) const
inline

检查消息是否有效

发送无效消息( valid() = false )会导致mirai-api-http返回400或500错误,并抛出异常。 检测的内容靠测试经验和mirai-api-http源码确定, valid() = true 不保证一定能发送成功。

返回
bool

在文件 MessageChain.hpp242 行定义.

◆ as() [1/2]

template<typename MessageType >
MessageType & Mirai::MessageChain::MessageElement::as ( )
inline

转换为某一特定类型的消息,类型错误时将抛出异常

模板参数
MessageType消息类型
返回
MessageType& 对象的引用

在文件 MessageChain.hpp255 行定义.

◆ as() [2/2]

template<typename MessageType >
const MessageType & Mirai::MessageChain::MessageElement::as ( ) const
inline

转换为某一特定类型的消息,类型错误时将抛出异常

模板参数
MessageType消息类型
返回
MessageType& 对象的引用

在文件 MessageChain.hpp265 行定义.

◆ visit() [1/2]

template<typename Callable >
auto Mirai::MessageChain::MessageElement::visit ( Callable &&  f)
inline

对此消息元素应用visitor,类似 std::visit

模板参数
Callable
参数
f可调用对象
返回
auto 所有输入的返回类型必须一致

在文件 MessageChain.hpp284 行定义.

◆ visit() [2/2]

template<typename Callable >
auto Mirai::MessageChain::MessageElement::visit ( Callable &&  f) const
inline

对此消息元素应用visitor,类似 std::visit

模板参数
Callable
参数
f可调用对象
返回
auto 所有输入的返回类型必须一致

在文件 MessageChain.hpp289 行定义.


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