prime/include/MetroidPrime/CArchitectureQueue.hpp

26 lines
575 B
C++

#ifndef _CARCHITECTUREQUEUE
#define _CARCHITECTUREQUEUE
#include "types.h"
#include "MetroidPrime/CArchitectureMessage.hpp"
#include "rstl/list.hpp"
class CArchitectureQueue {
public:
void Push(const CArchitectureMessage& msg) { x0_queue.push_back(msg); }
CArchitectureMessage Pop() {
CArchitectureMessage result = *x0_queue.begin();
x0_queue.pop_front();
return result;
}
void Clear() { x0_queue.clear(); }
bool IsEmpty() const { return x0_queue.empty(); }
private:
rstl::list< CArchitectureMessage > x0_queue;
};
#endif // _CARCHITECTUREQUEUE