Giriş
Şu satırı dahil ederiz.
Şöyle yaparız.
Örnek
Şöyle yaparız.
Şu satırı dahil ederiz.
#include <boost/coroutine2/all.hpp>
TanımlamaŞöyle yaparız.
using Coroutine_t = boost::coroutines2::coroutine<int>::push_type;
operator() metoduÖrnek
Şöyle yaparız.
#include <boost/coroutine2/all.hpp>
#include <iostream>
#include <cassert>
int main() {
auto sum = 0;
using Coroutine_t = boost::coroutines2::coroutine<int>::push_type;
auto coro = Coroutine_t{[&](auto& yield) {
for (;;) {
auto val = yield.get();
std::cout << "Currently " << val << std::endl;
sum += val;
yield(); // jump back to starting context
}
}};
std::cout << "Transferring 1" << std::endl;
coro(1); // transfer {1} to coroutine-function
std::cout << "Transferring 2" << std::endl;
coro(2); // transfer {1} to coroutine-function
}
Hiç yorum yok:
Yorum Gönder