#define _SCL_SECURE_NO_WARNINGS
#include<iostream>
#include<boost\signals2.hpp>
//函数对象
template<int N>
class slot
{
public:
int operator()(int x)
{
std::cout << "slot" << N << " is called" << std::endl;
return x*N;
}
};
//
int main(int argc, char** argv)
{
boost::signals2::signal<int(int)> sig;
sig.connect(slot<1>(), boost::signals2::at_front);
sig.connect(slot<100>(), boost::signals2::at_back);
sig.connect(3, slot<30>(), boost::signals2::at_front);
sig.connect(3, slot<39>(), boost::signals2::at_back);
sig.connect(9, slot<99>());
std::cout<<*sig(2)<<std::endl;
return 0;
}