diff --git a/Assignment/Task 2/fiber.h b/Assignment/Task 2/fiber.h new file mode 100644 index 0000000000000000000000000000000000000000..d135e8396c10d0a4537ba8af9dd3343b9ab0494b --- /dev/null +++ b/Assignment/Task 2/fiber.h @@ -0,0 +1,24 @@ +#ifndef FIBER_H +#define FIBER_H + +#include <array> +#include "context.h" + +class fiber { +private: + Context context_; + std::array<char, 4096> stack_; + char* stack_bottom_; + char* stack_top_; + void* data_; + +public: + fiber(void (*function)(void*), void* data); + ~fiber(); + + Context* get_context(); + void* get_data() const; +}; + +#endif // FIBER_H +