Queue.hpp
Vá para a documentação deste arquivo.
1 
6 #ifndef RETROACTIVITY_QUEUE_HPP_
7 #define RETROACTIVITY_QUEUE_HPP_
8 
9 #include "../aux/OrderedMap.hpp"
10 
11 namespace retroactivity {
12 
13 namespace queue {
14 
22 template<typename T> class Queue {
23  public:
24 
35 
38 
45  void Insert_Enqueue(int t, const T &x);
46 
53  void Insert_Dequeue(int t);
55 
58 
62  void Delete_Enqueue(int t);
63 
68  void Delete_Dequeue(int t);
70 
73 
79  T& Query_K_th(int t, int k);
80 
86  T& Query_First(int t);
88 };
89 
90 } // namespace queue
91 
92 } // namespace retroactive
93 
94 #include "Queue.tpp"
95 
96 #endif // RETROACTIVITY_QUEUE_HPP_
aux::OrderedMap< int, bool > deq
Lista de Dequeues, ordenados por tempo.
Definition: Queue.hpp:34
void Insert_Dequeue(int t)
Inserção de operação Dequeue.
void Delete_Enqueue(int t)
Remove operação Enqueue no tempo t.
T & Query_First(int t)
Devolve o primeiro elemento no tempo t.
void Delete_Dequeue(int t)
Remove operação Dequeue no tempo t.
T & Query_K_th(int t, int k)
Devolve o k -ésimo elemento no tempo t.
aux::OrderedMap< int, T > enq
Lista de Enqueues, ordenados por tempo.
Definition: Queue.hpp:29
void Insert_Enqueue(int t, const T &x)
Inserção de operação Enqueue.
Fila retroativa.
Definition: Queue.hpp:22