повысить asynchronous_state_machine - PullRequest
0 голосов
/ 01 марта 2011

Можно ли получить ссылку на планировщик из процессора_данных для 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 Ответ

1 голос
/ 02 марта 2011

Нет, не сейчас.По своей природе существование объекта processor_handle не гарантирует существование планировщика, в котором размещен процессор.

Итак, в вашем сценарии вы должны передать планировщик конструктору A и сохранить его вэлемент данных.

...