66 nRetVal = m_List.
AddLast(value);
82 return XN_STATUS_IS_EMPTY;
85 value = *(m_List.
begin());
96 return *(m_List.
begin());
106 return *(m_List.
begin());
122 return m_List.
Size();
126 XN_DISABLE_COPY_AND_ASSIGN(
XnQueue);
137 #define XN_DECLARE_QUEUE_WITH_TRANSLATOR_DECL(decl, Type, ClassName, Translator, base) \
138 class decl ClassName : public base \
146 while (Size() != 0) \
149 XnStatus Push(Type const& value) \
151 XnValue val = Translator::CreateValueCopy(value); \
152 XnStatus nRetVal = base::Push(val); \
153 if (nRetVal != XN_STATUS_OK) \
155 Translator::FreeValue(val); \
158 return XN_STATUS_OK; \
160 XnStatus Pop(Type& value) \
163 XnStatus nRetVal = base::Pop(val); \
164 if (nRetVal != XN_STATUS_OK) return (nRetVal); \
165 value = Translator::GetFromValue(val); \
166 Translator::FreeValue(val); \
167 return XN_STATUS_OK; \
169 inline Type const& Top() const { return Translator::GetFromValue(base::Top()); }\
170 inline Type& Top() { return Translator::GetFromValue(base::Top()); } \
172 XN_DISABLE_COPY_AND_ASSIGN(ClassName); \
180 #define XN_DECLARE_QUEUE_WITH_TRANSLATOR(Type, ClassName, Translator, base) \
181 XN_DECLARE_QUEUE_WITH_TRANSLATOR_DECL(, Type, ClassName, Translator, base)
187 #define XN_DECLARE_QUEUE_DECL(decl, Type, ClassName) \
188 XN_DECLARE_DEFAULT_VALUE_TRANSLATOR_DECL(decl, Type, XN_DEFAULT_TRANSLATOR_NAME(ClassName)) \
189 XN_DECLARE_QUEUE_WITH_TRANSLATOR_DECL(decl, Type, ClassName, XN_DEFAULT_TRANSLATOR_NAME(ClassName), XnQueue)
194 #define XN_DECLARE_QUEUE(Type, ClassName) \
195 XN_DECLARE_QUEUE_DECL(, Type, ClassName)
197 #endif // _XN_QUEUE_H
#define XN_IS_STATUS_OK(x)
Definition: XnMacros.h:59
XnStatus Remove(ConstIterator where, XnValue &value)
Definition: XnList.h:360
virtual ~XnQueue()
Definition: XnQueue.h:45
#define XN_STATUS_OK
Definition: XnStatus.h:36
virtual XnStatus Pop(XnValue &value)
Definition: XnQueue.h:78
XnBool IsEmpty() const
Definition: XnQueue.h:112
virtual XnUInt32 Size() const
Definition: XnQueue.h:120
XnUInt32 XnStatus
Definition: XnStatus.h:33
virtual XnStatus Init()
Definition: XnQueue.h:50
virtual XnStatus Push(XnValue const &value)
Definition: XnQueue.h:62
void * XnValue
Definition: XnDataTypes.h:35
XnValue const & Top() const
Definition: XnQueue.h:94
XnBool IsEmpty() const
Definition: XnList.h:412
XnStatus AddLast(const XnValue &value)
Definition: XnList.h:261
XnUInt32 Size() const
Definition: XnList.h:420
XnValue & Top()
Definition: XnQueue.h:104
Iterator begin()
Definition: XnList.h:432
XnQueue()
Definition: XnQueue.h:41