Descrição Detalhada
template<class T>
class persistence::stack::Node< T >
Nó da pilha persistente.
- Veja também
- Stack para mais informação.
Métodos Públicos | |
Node * | K_Ancestor (int k) |
k-ésimo ancestral. Mais... | |
Node (const T &x, Node *nx) | |
Node (const Node &)=delete | |
Node & | operator= (const Node &)=delete |
Campos de Dados | |
T | val |
Valor do nó. | |
Node * | next |
Próximo nó. Mais... | |
const int | depth |
Profundidade do nó. Mais... | |
Node * | jmp |
Nó de pulo. Mais... | |
int | ptr_ct |
Número de pointeiros para o nó. Mais... | |
Métodos
Node* persistence::stack::Node< T >::K_Ancestor | ( | int | k | ) |
k-ésimo ancestral.
- Parâmetros
-
k Indice do ancestral.
- Retorna
- O k-ésimo ancestral do nó. Se
k = 0
, devolve o próprio nó.
Campos
const int persistence::stack::Node< T >::depth |
Node* persistence::stack::Node< T >::jmp |
Node* persistence::stack::Node< T >::next |
Próximo nó.
Este campo armazena um ponteiro para o próximo nó da lista ligada, que no caso é o nó do elemento anterior da pilha.
int persistence::stack::Node< T >::ptr_ct |
Número de pointeiros para o nó.
Este campo, não persistente, armazena, a todo momento, quantos ponteiros existem para esse nó. Ele conta os ponteiros #nxt de outros nós e ponteiros armazenados em #stack::Stack::node.
Isto é feito pois C++ não tem garbage collection), logo devemos manualmente deletar os nós que não tem mais como ser atingidos. Este campo é usado para remover o nó quando não existem mais ponteiros para ele. Já que a estrutura é acíclica, isso acontece quando o vértice não é mais atingível.
Como esta é uma classe auxiliar, toda a remoção acontece na classe stack::Stack.
A documentação para esta classe foi gerada a partir do seguinte arquivo:
- /home/travis/build/yancouto/mestrado/source/persistence/Stack.hpp