Я учусь реактивно для C++, и я ищу некоторые рекомендации. Я создал функцию, чтобы ждать события, а затем вернуть его. Я хочу поймать все события, которые происходят с реактивной асинхронизацией, и обрабатывать их по мере их появления. Здесь не то, что я до сих пор:RXcpp поток данных из функции непрерывно
int Engine::Initialize()
{
al_init();
display = al_create_display(1200, 800);
eventQueue = al_create_event_queue();
al_install_mouse();
al_install_keyboard();
al_register_event_source(eventQueue, al_get_keyboard_event_source());
al_register_event_source(eventQueue, al_get_mouse_event_source());
//test: wait for 2 events to happen
auto events = rxcpp::observable<>::create([](rxcpp::subscriber<ALLEGRO_EVENT> e)
{
e.on_next(WaitForEvent);
e.on_next(WaitForEvent);
e.on_completed();
});
events.subscribe([](ALLEGRO_EVENT e)
{
printf("We have an Event: %d \n", e.type);
},
[]()
{
printf("Done\n");
});
return 0;
}
ALLEGRO_EVENT Engine::WaitForEvent()
{
ALLEGRO_EVENT event;
al_wait_for_event(eventQueue, &event);
return event;
}
Кажется, я получаю ошибку: не экземпляр шаблона функции «rxcpp :: наблюдаемым :: создать» совпадает со списком аргументов. Нужно ли мне создавать свой собственный шаблон или что-то, чтобы иметь возможность наблюдать за ALLEGRO_EVENT?
Теперь я получаю эту ошибку: не экземпляр шаблона функции «rxcpp :: наблюдаемым: : create "соответствует списку аргументов –
shady
его странно, потому что, когда я вставляю образец из документов, он говорит то же самое – shady
Хмм. Это странно. Это может быть ошибка. К сожалению, у меня нет опыта использования этой библиотеки. Я бы порекомендовал размещение на их [дискуссионном форуме] (http://rxcpp.codeplex.com/discussions). – Tim