Subversion Repositories HomeAutomation

Rev

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

  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. }
  50.