32#ifndef _QORE_QOREQUEUEHELPER_H
34#define _QORE_QOREQUEUEHELPER_H
36class QoreQueueHelper : QorePrivateObjectAccessHelper {
44 DLLEXPORT QoreQueueHelper(QoreObject* obj, ExceptionSink* xs);
47 DLLEXPORT ~QoreQueueHelper();
50 DLLEXPORT
void push(ExceptionSink* xsink, QoreValue n,
int timeout_ms = 0,
bool* to = 0);
53 DLLEXPORT
void insert(ExceptionSink* xsink, QoreValue n,
int timeout_ms = 0,
bool* to = 0);
56 DLLEXPORT QoreValue shift(ExceptionSink* xsink,
int timeout_ms = 0,
bool* to = 0);
59 DLLEXPORT QoreValue pop(ExceptionSink* xsink,
int timeout_ms = 0,
bool* to = 0);
62 DLLEXPORT
int size()
const;
65 DLLEXPORT
int getMax()
const;
68 DLLEXPORT
unsigned getReadWaiting()
const;
71 DLLEXPORT
unsigned getWriteWaiting()
const;
74 DLLEXPORT
void clear(ExceptionSink* xsink);