From 3a5a0e7b42d34baa238895f9e4d86cfd902ace7d Mon Sep 17 00:00:00 2001 From: TravisBot <> Date: Sat, 23 Dec 2017 00:51:44 +0000 Subject: [Travis] Rebuilding documentation --- syncqueue_8h_source.html | 213 ----------------------------------------------- 1 file changed, 213 deletions(-) delete mode 100644 syncqueue_8h_source.html (limited to 'syncqueue_8h_source.html') diff --git a/syncqueue_8h_source.html b/syncqueue_8h_source.html deleted file mode 100644 index 4fe52f51..00000000 --- a/syncqueue_8h_source.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - -YAGE: yage/util/syncqueue.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
YAGE -  v0.1.3 -
-
Yet Another Game Engine
-
-
- - - - - -
-
- -
-
-
- -
- -
- All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
- - -
- -
- -
-
-
syncqueue.h
-
-
-Go to the documentation of this file.
1 
-
9 #ifndef YAGE_UTIL_SYNCQUEUE_H
-
10 #define YAGE_UTIL_SYNCQUEUE_H
-
11 
-
12 #include <condition_variable>
-
13 #include <mutex>
-
14 #include <queue>
-
15 
-
16 namespace yage
-
17 {
-
18 
-
19 template <typename T>
-
20 class SyncQueue
-
21 {
-
22 public:
-
23  SyncQueue() = default;
-
24  SyncQueue(const SyncQueue &) = delete;
-
25  SyncQueue &operator=(const SyncQueue &) = delete;
-
26 
-
27  T pop();
-
28  void pop(T &item);
-
29  void push(const T &item);
-
30  void push(T &&item);
-
31 
-
32 private:
-
33  std::queue<T> queue_;
-
34  std::mutex mutex_;
-
35  std::condition_variable cond_;
-
36 };
-
37 
-
38 // Template definitions
-
39 
-
40 template <typename T>
- -
42 {
-
43  std::unique_lock<std::mutex> mlock(mutex_);
-
44 
-
45  while (queue_.empty()) {
-
46  cond_.wait(mlock);
-
47  }
-
48 
-
49  auto item = queue_.front();
-
50  queue_.pop();
-
51  return item;
-
52 }
-
53 
-
54 template <typename T>
-
55 void SyncQueue<T>::pop(T &item)
-
56 {
-
57  std::unique_lock<std::mutex> mlock(mutex_);
-
58 
-
59  while (queue_.empty()) {
-
60  cond_.wait(mlock);
-
61  }
-
62 
-
63  item = queue_.front();
-
64  queue_.pop();
-
65 }
-
66 
-
67 template <typename T>
-
68 void SyncQueue<T>::push(const T &item)
-
69 {
-
70  std::unique_lock<std::mutex> mlock(mutex_);
-
71 
-
72  queue_.push(item);
-
73  mlock.unlock();
-
74  cond_.notify_one();
-
75 }
-
76 
-
77 template <typename T>
-
78 void SyncQueue<T>::push(T &&item)
-
79 {
-
80  std::unique_lock<std::mutex> mlock(mutex_);
-
81 
-
82  queue_.push(std::move(item));
-
83  mlock.unlock();
-
84  cond_.notify_one();
-
85 }
-
86 
-
87 } // namespace yage
-
88 
-
89 #endif
-
SyncQueue()=default
-
SyncQueue & operator=(const SyncQueue &)=delete
-
T pop()
Definition: syncqueue.h:41
-
std::condition_variable cond_
Definition: syncqueue.h:35
-
std::mutex mutex_
Definition: syncqueue.h:34
-
void push(const T &item)
Definition: syncqueue.h:68
-
std::queue< T > queue_
Definition: syncqueue.h:33
-
Definition: syncqueue.h:20
-
-
- - - - -- cgit