Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
platform
Messaging
MessageQueue.h
1
// Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2
3
#pragma once
4
5
#include "IMessageQueue.h"
6
#include "MPMCQueue.h"
7
#include "Types.h"
8
9
namespace
Eegeo
10
{
11
namespace
Messaging
12
{
13
template
<
typename
T>
14
class
MessageQueue
:
protected
Eegeo::NonCopyable
,
public
IMessageQueue
<T>
15
{
16
public
:
17
void
Enqueue(T
const
message) { m_queue.Enqueue(message); }
18
void
EnqueueHead(T
const
message) { m_queue.EnqueueHead(message); }
19
T Dequeue() {
return
m_queue.Dequeue(); }
20
bool
TryDequeue(T& out_message) {
return
m_queue.TryDequeue(out_message); }
21
22
private
:
23
Eegeo::Concurrency::MPMCQueue<T>
m_queue;
24
};
25
}
26
}
Generated on Sat Jun 10 2023 02:00:31 for eeGeo Platform SDK by
1.8.3.1