QXRD  0.11.16
qcepimagequeue.h
Go to the documentation of this file.
1 #ifndef QCEPIMAGEQUEUE_H
2 #define QCEPIMAGEQUEUE_H
3 
4 #include "qcepmacros.h"
5 
6 #include "qcepimagedata.h"
7 #include "qcepmaskdata.h"
8 #include <QQueue>
9 #include <QString>
10 #include <QSharedPointer>
11 
12 template <typename T>
13 class QcepImageQueue : QObject
14 {
15 public:
16  QcepImageQueue(QString name);
18 
19  QSharedPointer<T> dequeue();
20  void enqueue(QSharedPointer<T> data);
21  int size() const;
22  QSharedPointer<T> operator[](int n);
23 
24  void deallocate();
25 // void preallocate(int nFrames, int nCols, int nRows);
26 
27  Q_PROPERTY(int nRows READ get_NRows WRITE set_NRows)
29 
30  Q_PROPERTY(int nCols READ get_NCols WRITE set_NCols)
32 
33 private:
34  mutable QMutex m_Lock;
35  QQueue< QSharedPointer<T> > m_Queue;
36  QString m_Name;
37 };
38 
44 
45 typedef QSharedPointer<QcepImageBaseQueue> QcepImageBaseQueuePtr;
46 typedef QSharedPointer<QcepInt16ImageQueue> QcepInt16ImageQueuePtr;
47 typedef QSharedPointer<QcepInt32ImageQueue> QcepInt32ImageQueuePtr;
48 typedef QSharedPointer<QcepDoubleImageQueue> QcepDoubleImageQueuePtr;
49 typedef QSharedPointer<QcepMaskQueue> QcepMaskQueuePtr;
50 
51 #endif
QSharedPointer< T > operator[](int n)
QSharedPointer< QcepMaskQueue > QcepMaskQueuePtr
QSharedPointer< QcepInt32ImageQueue > QcepInt32ImageQueuePtr
QSharedPointer< QcepImageBaseQueue > QcepImageBaseQueuePtr
QQueue< QSharedPointer< T > > m_Queue
#define QCEP_INTEGER_PROPERTY(propname)
Definition: qcepproperty.h:698
QSharedPointer< T > dequeue()
void enqueue(QSharedPointer< T > data)
QSharedPointer< QcepDoubleImageQueue > QcepDoubleImageQueuePtr
QcepImageQueue(QString name)
int size() const
QSharedPointer< QcepInt16ImageQueue > QcepInt16ImageQueuePtr