PFUNC 1.0
pfunc/task_queue_set.hpp
Go to the documentation of this file.
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 */