我已经boost::signals2
在我的项目中使用了一段时间。令我感到羞耻的是,我仍然不明白它们是如何在幕后实现的。我的问题已经从信号的定义开始了。如何定义如
boost::signals2::signal< void (bool, double) >
处理?我可以从实现细节中看到,签名变成了一个恰当命名的模板参数Signature
。但是,我不明白语法。C++ 标准是否允许这种语法?以这种形式提供的信号如何“存储”函数签名?
我已经尝试查看源代码,但无法找到此语法的解释。任何帮助,将不胜感激。