Crow:黑魔法 添加路由3 绑定lambda

363 篇文章 3 订阅 ¥299.90 ¥399.90
32 篇文章 0 订阅 ¥299.90 ¥399.90
本文深入探讨Crow框架中如何使用new_rule_tagged创建TaggedRule对象,并将其添加到路由列表。通过CRTP继承模式,实现了RuleParameterTraits与BaseRule接口的交互,将lambda表达式保存为handler_成员变量,完成路由处理的绑定。同时,讲解了.name和.methods方法如何利用CRTP设置BaseRule的name_和methods_成员,用于表示HTTP方法。
摘要由CSDN通过智能技术生成

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,...>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风静如云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值