Как объявить две функции, принимающие в качестве аргумента сигнатуры друг друга?

Можно ли эмулировать что-то вроде этого:

typedef boost::function<void(A)> B;
typedef boost::function<void(B)> A;

Основная цель - иметь возможность писать такой код ( в псевдо-c ++):

void a_(B b) {
  // ...
  b(a_);
}
void b_(A a) {
  // ...
  f(boost::bind(a, b_));
}

f(boost::bind(a_, b_));
9
задан iammilind 12 December 2011 в 23:07
поделиться