6 #ifndef PERSISTENCE_DEQUE2_HPP_
7 #define PERSISTENCE_DEQUE2_HPP_
9 namespace persistence {
17 inline void add_ref();
18 template<
class T>
inline void rem_ref(
int);
19 inline void rem_ref();
57 Node(any *p,
Node *c, any *s,
int sz);
59 template<
class T>
void rem_ref(
int=0);
110 const T&
Front()
const;
116 const T&
Back()
const;
123 const T&
K_th(
int k)
const;
171 #include "Deque2.tpp"
173 #endif // PERSISTENCE_DEQUE2_HPP_
int size
Tamanho da deque.
Definition: Deque2.hpp:55
Deque< T > PopBack() const
Remoção do final.
Deque< T > PushBack(const T &x) const
Inserção no final.
const T & K_th(int k) const
Acesso ao k-ésimo elemento.
Nó da deque recursiva.
Definition: Deque2.hpp:36
Deque< T > PushFront(const T &x) const
Inserção no início.
Deque persistente de estrutura recursiva.
Definition: Deque2.hpp:89
any * preffix
Prefixo da deque.
Definition: Deque2.hpp:41
const T & Front() const
Acesso ao primeiro elemento.
Node * node
Nó principal.
Definition: Deque2.hpp:95
Node * center
Sub-deque central.
Definition: Deque2.hpp:45
const T & Back() const
Acesso ao último elemento.
any * suffix
Sufixo da deque.
Definition: Deque2.hpp:49
Deque< T > PopFront() const
Remoção do início.