Crow:黑魔法2 new_rule_tagged实现模板参数的绑定-CSDN博客
template<uint64_t N>
typename black_magic::arguments<N>::type::template rebind<TaggedRule>& new_rule_tagged(const std::string& rule)
{
using RuleT = typename black_magic::arguments<N>::type::template rebind<TaggedRule>;
auto ruleObject = new RuleT(rule);
all_rules_.emplace_back(ruleObject);
return *ruleObject;
}
std::vector<std::unique_ptr<BaseRule>> all_rules_;
RuleT 实际的类型是TaggedRule<xxx,yyy,...>
所以这个函数就是生成一个TaggedRule<xxx,yyy,...>的对象,然后将其加入到:
std::vector<std::unique_ptr<BaseRule>> all_rules_;
之后返回这个对象文章来源:https://www.toymoban.com/news/detail-759006.html
TaggedRule类的文章来源地址https://www.toymoban.com/news/detail-759006.html
到了这里,关于Crow:黑魔法 添加路由3 绑定lambda的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!