Повысить asynchronous_state_machine
Можно ли получить ссылку на планировщик из processor_handle для asynchronous_state_machine?
Код:
struct A {
A(sc::fifo_scheduler<>::processor_handle& h):player_ref(h){}
sc::fifo_scheduler<>::processor_handle& player_ref;
void a_func(){
//I have to send event to player, but don't have scheduler
scheduler.queue_event( player_ref_, ... ); //?
}
};
sc::fifo_scheduler<> scheduler( true );
sc::fifo_scheduler<>::processor_handle player =
scheduler1.create_processor< Player >();
A a(player);
1 ответ
Нет не сейчас По своей природе существование объекта processor_handle не гарантирует существование планировщика, в котором размещен процессор.
Итак, в вашем сценарии вы должны передать планировщик в конструктор A и сохранить его в элементе данных.