1 #pragma once 2 3 #include <MTTools.h> 4 #include <MTPlatform.h> 5 #include <MTConcurrentQueueLIFO.h> 6 #include <MTTaskGroup.h> 7 #include <MTTaskDesc.h> 8 9 namespace MT 10 { 11 class FiberContext; 12 13 namespace internal 14 { 15 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 16 struct GroupedTask 17 { 18 FiberContext* awaitingFiber; 19 FiberContext* parentFiber; 20 TaskGroup::Type group; 21 TaskDesc desc; 22 23 GroupedTask() 24 : awaitingFiber(nullptr) 25 , parentFiber(nullptr) 26 , group(TaskGroup::GROUP_UNDEFINED) 27 {} 28 29 GroupedTask(TaskDesc& _desc, TaskGroup::Type _group) 30 : awaitingFiber(nullptr) 31 , parentFiber(nullptr) 32 , group(_group) 33 , desc(_desc) 34 {} 35 }; 36 } 37 } 38