YAPOG  0.0.1
Yet Another Pokemon Online Game
Queue.hpp
Go to the documentation of this file.
1 #ifndef YAPOG_QUEUE_HPP
2 # define YAPOG_QUEUE_HPP
3 
4 # include <queue>
5 
6 # include "YAPOG/Macros.hpp"
7 
8 namespace yap
9 {
10  namespace collection
11  {
12  template <typename T>
13  class Queue
14  {
15  public:
16 
17  typedef T DataType;
18  typedef std::queue<DataType> InnerType;
19  typedef typename InnerType::size_type SizeType;
20 
21  Queue ();
22 
23  Queue (const Queue& copy);
24  Queue& operator= (const Queue<T>& copy);
25 
26  void Enqueue (const T& data);
27  T& Dequeue (T& data);
28 
29  bool IsEmpty () const;
30  SizeType Count () const;
31 
32  void Clear ();
33 
34  private:
35 
37  };
38  } // namespace collection
39 } // namespace yap
40 
42 
43 #endif // YAPOG_QUEUE_HPP