【发布时间】:2017-10-24 16:15:11
【问题描述】:
在下面的代码中,events 是一个基于模板策略构建的 stl 容器,其中底层类型由入站和出站类型组成。
auto events = process::run<inbound, outbound>(args);
处理完事件后,我需要根据运行时参数做一些计算。这是一个例子:
cool::transform(events.deltas(), [](const auto ¤t) { return current.method(); });
我们可能想要使用几种方法,即我们可以调用另一个可能返回或不返回相同底层类型的方法。
cool::transform(events.deltas(), [](const auto ¤t) { return current.other(); });
有没有办法对此进行模板化,以便我可以声明:
cooler::transform<method>(events.deltas())
额外问题:如果方法实际存在于底层类型上,我们可以使用模板来启用代码吗?
【问题讨论】: