Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-06-02 08:51:49

0001 #ifndef THREAD_QUEUE_H
0002 #define THREAD_QUEUE_H
0003 
0004 /**
0005  * @file ThreadQueue.h
0006  * @author Bryan BERTHOU (CEA Saclay)
0007  * @date 14 January 2015
0008  * @version 1.0
0009  */
0010 
0011 #include <ElementaryUtils/thread/Packet.h>
0012 #include <SFML/System/Mutex.hpp>
0013 #include <queue>
0014 
0015 #include "../../beans/List.h"
0016 
0017 namespace PARTONS {
0018 
0019 /**
0020  * @class ThreadQueue
0021  *
0022  * @brief
0023  */
0024 class ThreadQueue {
0025 public:
0026     ThreadQueue();
0027     virtual ~ThreadQueue();
0028 
0029     void push(const ElemUtils::Packet &packet);
0030     void push(const List<ElemUtils::Packet> &listOfPacket);
0031 
0032     ElemUtils::Packet pop();
0033 
0034     bool empty();
0035 
0036 private:
0037     std::queue<ElemUtils::Packet> m_tasks;
0038 
0039     //pthread_mutex_t m_mutex;
0040     sf::Mutex m_mutex;
0041 };
0042 
0043 } /* namespace PARTONS */
0044 
0045 #endif /* THREAD_QUEUE_H */