I'm trying to use bind and lambda to create a functor that can receive an event generated by my GUI library, and dispatch an appropriate event into a boost::statechart::state_machine.  The GUI library requires the functor to have the signature bool (const CEGUI::EventArgs&).  An example of what works:
template<typename EventType>
bool GuiEvent(const CEGUI::EventArgs&, GameStateMachine& gsm)
{
  gsm.process_event(EventType( ));
  return true;
}

//usage:
GameStateMachine sm;
...
boost::bind(&GuiEvent<EventExitGame>, _1, boost::ref(sm));
But is it possible to use lambda to eliminate the need for the function?  It looks like I would use something along the lines of
boost::bind<bool>(boost::ref(sm).process_event(EventExitGame( )) /*somehow return true here*/, _1);
I'm just not quite seeing how I would get the lambda expression to return true there.
Cheers.