VR-Vantage 3.1.1 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
locklessQueue.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vector>
13 
14 namespace makRadarFx
15 {
19 template <class T>
21 {
22  public:
23 
25  DtLocklessQueue(int size);
26 
29 
31  void push(T newElement);
32 
34  T pop();
35 
38  bool okToPush();
39 
41  int count();
42 
43  private:
44 
47 
49  DtLocklessQueue(const DtLocklessQueue& orig);
50 
53 
54  protected:
55  std::vector<T> myElements;
58 };
59 }
60 
61 #define DtLocklessQueue_INL_
62 #include "locklessQueue.inl"
63 #undef DtLocklessQueue_INL_
~DtLocklessQueue()
DTOR.
Definition: locklessQueue.inl:27
DtLocklessQueue()
Default CTOR (unimplemented)
DtLocklessQueue is a thread safe queue for single reader/single writer.
Definition: locklessQueue.h:20
DtLocklessQueue & operator=(const DtLocklessQueue &rhs)
Assignment operator (unimplemented)
int myWriteHead
Definition: locklessQueue.h:57
std::vector< T > myElements
Definition: locklessQueue.h:55
int count()
Get the current element count.
Definition: locklessQueue.inl:96
int myReadHead
Definition: locklessQueue.h:56
void push(T newElement)
Add an element on the queue.
Definition: locklessQueue.inl:43
bool okToPush()
Check to see if there is room in the queue.
Definition: locklessQueue.inl:33
T pop()
Remove an element from the queue.
Definition: locklessQueue.inl:71


Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)