Cześć, sytuacja wygląda tak. Mam jakąś metodę, którą podłączam do sygnału:
auto event = boost::bind(&AppManager::Impl::OnStart, this, _1);
cmdReg.OnStart.connect(event);
I później trzeba to rozłączyć:
auto event = boost::bind(&AppManager::Impl::OnStart, this, _1);
cmdReg.OnStart.disconnect(event);
Aż się prosi, żeby zmienna event była składnikiem klasy. Tylko w żaden sposób nie mogę tego ogarnąć. Próbowałem to deklarować jako:
boost::function<void(MyEventArgs&)> event;
Ale się wykrzacza przy budowaniu (czepia się o operator == gdzieś w boost.) Próbowałem to też deklarować jako slot. Ale wszystko na nic. Jest jakiś sposób na to?