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;
}
RuleT 实际的类型是TaggedRule<xxx,yyy,...>
所以这个函数就是生成一个TaggedRule<xxx,yyy,...>的对象,然后将其加入到:
std::vector<std::unique_ptr<BaseRule>> all_rules_;
之后返回这个对象
template<typename... Args>
class TaggedRul
标签:
c++
本文转载自: https://blog.csdn.net/jiemashizhen/article/details/134973924
版权归原作者 风静如云 所有, 如有侵权,请联系我们删除。
版权归原作者 风静如云 所有, 如有侵权,请联系我们删除。