#pragma once #include "fiber.hpp" #include <deque> #include <iostream> class scheduler { public: std::deque<Fiber*> fibers_; Context context_; Context* current_context_; int* data_; scheduler() : data_(nullptr) {} void spawn(Fiber* fiber); void do_it(); void fiber_exit(Context* current_context); Context* get_current_context(); int* get_data() { return data_; } void set_data(int* data) { data_ = data; } }; extern scheduler s;