Subversion Repositories HomeAutomation

Rev

Details | Last modification | View Log | SVN | RSS feed

Rev Author Line No. Line
1317 runge 1
/*
2
 * Queue.cpp
3
 *
4
 *  Created on: Aug 04, 2009
5
 *      Author: Mattias Runge
6
 */
7
 
8
#include "Queue.h"
9
 
10
namespace atom {
11
namespace thread {
12
 
13
 
14
template<typename T>
15
Queue<T>::Queue()
16
{
17
}
18
 
19
template<typename T>
20
Queue<T>::~Queue()
21
{
22
}
23
 
24
template<typename T>
25
void Queue<T>::push(T item)
26
{
27
    lock guard(this->myMutex);
28
    this->myQueue.push(item);
29
}
30
 
31
template<typename T>
32
T Queue<T>::pop()
33
{
34
    lock guard(this->myMutex);
35
    T item = this->myQueue.front();
36
    this->myQueue.pop();
37
    return item;
38
}
39
 
40
template<typename T>
41
unsigned int Queue<T>::size()
42
{
43
    lock guard(this->myMutex);
44
    return this->myQueue.size();
45
}
46
 
47
 
48
}
49
}