本文整理汇总了C++中message::at方法的典型用法代码示例。如果您正苦于以下问题:C++ message::at方法的具体用法?C++ message::at怎么用?C++ message::at使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类message
的用法示例。
在下文中一共展示了message::at方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: invoke
match_case::result invoke(optional<message>& res, message& msg) override {
intermediate_tuple it;
detail::meta_elements<pattern> ms;
// check if try_match() reports success
if (!detail::try_match(msg, ms.arr.data(), ms.arr.size(), it.data)) {
return match_case::no_match;
}
// detach msg before invoking m_fun if needed
if (is_manipulator) {
msg.force_detach();
// update pointers in our intermediate tuple
for (size_t i = 0; i < msg.size(); ++i) {
// msg is guaranteed to be detached, hence we don't need to
// check this condition over and over again via mutable_at
it[i] = const_cast<void*>(msg.at(i));
}
}
lfinvoker<std::is_same<result_type, void>::value, F> fun{m_fun};
detail::optional_message_visitor omv;
auto funres = apply_args(fun, detail::get_indices(it), it);
res = omv(funres);
return match_case::match;
}