JASPL  0.2
Just Another Signal Processing Library
taskqueue.h
1 #ifndef TASKQUEUE_H
2 #define TASKQUEUE_H
3 
4 //Header for this file
5 //
6 //C System-Headers
7 //
8 //C++ System headers
9 #include <iostream>
10 //OpenCL Headers
11 #include <CL/cl.h>
12 #include <CL/cl.hpp>
13 //Boost Headers
14 //
15 //OpenMP Headers
16 //
17 //Project specific headers
18 #include "TaskQueue/taskqueuebase.h"
19 #include "jTypeTraits/jtypetraits.h"
20 
21 namespace jaspl {
22 
23 namespace ocl {
24 
25 
26 template <typename T>
27 class TaskQueue : public TaskQueueBase {
28 
29  public:
30  TaskQueue( uint platform_number, uint device_number );
31  ~TaskQueue();
32 
33  void Load( T signal );
34  T Recall();
35 
36 };
37 
38 template< class T>
39 class TaskQueue<T*>: public TaskQueueBase {
40 
41  public:
42 
43  TaskQueue( uint platform_number, uint device_number );
44 
45  void Load( T* signal_ptr );
46  T* Recall();
47 
48 };
49 
50 #include <TaskQueue/taskqueue_templates.tpp>
51 
52 }
53 
54 }
55 
56 #endif // TASKQUEUE_H
The fundamental structure underlying all OpenCL Functions.
Definition: taskqueuebase.h:30