Nodo referencia. Más...
#include <runTree.h>
Métodos públicos | |
| refNode () | |
| refNode (string str) | |
| refNode (runNode *data) | |
| refNode (refNode *a) | |
| void | setRef (runNode *node) |
| runNode * | getRef () const |
| runNode *& | getRef () |
| void | run () |
| void | rmRef () |
| void | del () |
| string | strvalue () |
| int | numvalue () |
| bool | boolvalue () |
| string | print () const |
| void | setKey (string s) |
| string | getKey () |
Métodos públicos heredados desde runNode | |
| runNode (string str) | |
| runNode () | |
| virtual void | addRef () |
| virtual bool | is_print () const |
| virtual bool | is_runlist () const |
| virtual bool | is_string () const |
| string | getPtrString () |
Otros miembros heredados | |
Métodos públicos estáticos heredados desde runNode | |
| static bool | compare (runNode *node1, runNode *node2, int op=0) |
Nodo referencia.
Los nodos referencia son un tipo de nodos cuya funcionalidad consiste en referenciar a otros nodos. Son una pieza fundamental del sistema ya que permiten acceder a los nodos creados de forma dinámica.
Una referencia tiene una cadena como clave que permite referirse a la misma. Las referencias suelen quedar agrupadas en otras estructuras de datos como las tablas de símbolos.
Existen nodos que tienen un valor asociado. El tipo de este valor mucha veces no es conocido por lo que guardan una referencia a otro nodo como valor.
| refNode::refNode | ( | ) |
Método constructor que crea e inicializa un nodo referencia sin clave y con la referencia nula.
| refNode::refNode | ( | string | str | ) |
Método constructor que crea e inicializa un nodo referencia a partir de una clave dada. Tendrá una referencia nula.
| refNode::refNode | ( | runNode * | data | ) |
Método constructor que crea e inicializa un nodo referencia a partir de un nodo que hace de clave. Tendrá una referencia nula.
| refNode::refNode | ( | refNode * | a | ) |
Método constructor que crea e inicializa un nodo referencia a partir de otro. Tendrá la misma referencia que el nodo copiado.
| bool refNode::boolvalue | ( | ) |
Si la referencia tiene clave devuelve verdadero, falso en caso contrario.
| void refNode::del | ( | ) |
Elimina una referencia y libera la memoria que ocupa.
| string refNode::getKey | ( | ) |
Obtiene la clave de la referencia.
| runNode * refNode::getRef | ( | ) | const |
Devuelve el nodo referenciado.
| runNode *& refNode::getRef | ( | ) |
Devuelve la referencia interna al nodo.
| int refNode::numvalue | ( | ) |
Obtiene el número de caracteres de la clave.
|
virtual |
Devuelve una cadena que representa el nodo al que apunta la referencia.
Implementa printableNode.
|
virtual |
Sobrecarga el método de eliminación para que una referencia no se elimine como al disminuir a cero el número de referencias.
Reimplementado de runNode.
|
virtual |
Ejecuta el nodo referencia.
Implementa runNode.
| void refNode::setKey | ( | string | s | ) |
Establece la clave de la referencia
| s | Nueva clave |
| void refNode::setRef | ( | runNode * | node | ) |
Establece la referencia al nodo dado.
| node | Nodo al que apuntará la referencia |
| string refNode::strvalue | ( | ) |
Obtienen la cadena que hace de clave de la referencia .