Referência da Classe persistence::deque3::Node

Descrição Detalhada

Nó da deque de Kaplan e Tarjan.

Um nó representa uma deque persistente e tem três campos: prefix, #center e suffix. prefix e suffix são deques não persistentes de tamanho até 5. A deque resultante é a deque que tem como primeiros elementos os elementos de prefix, últimos elementos os de suffix, e demais elementos são armazenados em pares na sub-deque #center .

Usamos ponteiros para void ao invés de um tipo T de template pois é necessário que o campo #center armazene uma deque de pares de T, e se isso fosse feito com templates, geraria um loop infinito em tempo de compilação, já que C++ tentaria instanciar todos os tipos possíveis de Deque, que seriam infinitos.

Métodos Públicos

void add_ref ()
 
template<class T >
void rem_ref ()
 
void safe_rem_ref ()
 
 Node ()
 Construtor. Mais...
 
 Node (const Node &o)
 

Campos de Dados

SubDeque< any * > prefix
 Prefixo da deque. Mais...
 
Nodechild
 Sub-deque central. Mais...
 
SubDeque< any * > suffix
 Sufixo da deque. Mais...
 
Nodenext
 Próximo nó na pilha de nós. Mais...
 
int size
 Tamanho da deque. Mais...
 
int level
 
int ref_ct
 

Construtores & Destrutores

persistence::deque3::Node::Node ( )

Construtor.

Sub-deques são inicializadas vazias. next é inicializado com null.

Campos

Node* persistence::deque3::Node::child

Sub-deque central.

Uma deque que armazena pares de elementos de T , e tem os elementos "do meio" da deque.

Node* persistence::deque3::Node::next

Próximo nó na pilha de nós.

É o próximo nó que tem digito diferente de 1.

SubDeque<any*> persistence::deque3::Node::prefix

Prefixo da deque.

Se for não-nulo, prefix é um ponteiro para o valor do primeiro elemento da deque.

int persistence::deque3::Node::size

Tamanho da deque.

Número de elementos total da deque. Esse número vai ser duas vezes o número de elementos em #center mais o tamanho de prefix e suffix.

SubDeque<any*> persistence::deque3::Node::suffix

Sufixo da deque.

Se for não-nulo, suffix um ponteiro para o valor do último elemento da deque.


A documentação para esta classe foi gerada a partir do seguinte arquivo:
  • /home/travis/build/yancouto/mestrado/source/persistence/Deque3.hpp