PFUNC
1.0
|
00001 #ifndef PFUNC_SCHEDULER_HPP 00002 #define PFUNC_SCHEDULER_HPP 00003 00004 #include <pfunc/config.h> 00005 #include <pfunc/environ.hpp> 00006 #include <pfunc/pfunc_atomics.h> 00007 #include <pfunc/mutex.hpp> 00008 00009 #if PFUNC_HAVE_ERRNO_H == 1 00010 #include <errno.h> 00011 #endif 00012 00013 00014 namespace pfunc { 00016 struct errorS {}; 00017 00019 struct fifoS {}; 00020 00022 struct lifoS {}; 00023 00025 struct prioS {}; 00026 00028 struct cilkS {}; 00029 00030 namespace detail { 00036 template <typename PolicyName, 00037 typename ValueType> 00038 struct task_queue_set { 00039 typedef errorS queue_index_type; 00040 typedef errorS queue_type; 00041 }; 00042 00046 template <typename QueueType> 00047 struct task_queue_set_data { 00048 ALIGN128 QueueType queue; 00049 ALIGN128 mutex lock; 00050 }; 00051 } /* namespace detail */ 00052 } /* namespace pfunc */ 00053 00054 #include "lifo.hpp" 00055 #include "fifo.hpp" 00056 #include "cilk.hpp" 00057 #include "prio.hpp" 00058 00059 #endif /* PFUNC_SCHEDULER_HPP */