При использовании boost позволяется декларировать типы вот таким вот удивительным способом:
boost::function<void (int,double)> f;
Никак не могу взять в толк, как такое достигается? В сорцах boost по этой тему что-либо довольно трудно понять - там довольно сложный код. Где можно почитать про этот способ записи?