'defines' | |
#define | DLINK_TO_TYPE(type_name, link_name) |
#define | LINKNAME_TO_TYPE(type_name, link_name) |
#define | DLINK_TO_BASE(type_name, link_name) |
#define | SLINK_TO_TYPE(type_name, link_name) |
Secuencias
En Aleph una secuencia comprende toda estructura de datos que involucre a un arreglo o a una lista enlazada y algoritmos pertinentes a estas técnicas de organización de datos.
Dentro de esta categoría, comprende los siguientes grupos de algoritmos y estructuras de datos:
#define DLINK_TO_BASE | ( | type_name, | |
link_name | |||
) |
Genera una función link_to_base de enlace doble a estructura que lo contenga.
Este macro se utiliza cuando se tiene un dlink que es parte de una estructura, se desea obtener un apuntador a la estructura desde el enlace y se requiere un nombre fijo. Los otros macros generan nombres que contienen el nombre de la clase.
Si tenemos, por ejemplo: struct Registro { ... Dlink l; ... };
Entonces DLINK_TO_BASE(Registro, l) generará la función:
Registro * dlink_to_base(Dlink * link), la cual recibe un apuntador Dlink al campo de un registro "Registro" y retorna el puntero al registro.
type_name | el tipo de la estructura (struct o class) que contiene al dlink. |
link_name | el nombre del campo del enlace doble dentro de la estructura. |
#define DLINK_TO_TYPE | ( | type_name, | |
link_name | |||
) |
Genera una función de conversión de nombre de enlace doble a estructura que lo contenga.
Este macro se utiliza cuando se tiene un dlink que es parte de una estructura y se desea obtener un apuntador a la estructura desde el enlace.
Si tenemos, por ejemplo: struct Registro { ... Dlink l; ... };
Entonces DLINK_TO_TYPE(Registro, l) generará la función:
Registro * dlink_to_Registro(Dlink * link), la cual recibe un apuntador Dlink al campo de un registro "Registro" y retorna el puntero al registro.
type_name | el tipo de la estructura (struct o class) que contiene al dlink. |
link_name | el nombre del campo del enlace doble dentro de la estructura. |
#define LINKNAME_TO_TYPE | ( | type_name, | |
link_name | |||
) |
Genera función de conversión de nombre de enlace doble a estructura que lo contenga. El nombre de la función es literalmente el parámetro que se instancie como link_name
Este macro se utiliza cuando se tiene dos o más Dlink que son parte de una estructura y se desea obtener un apuntador a la estructura desde algunos de los enlaces.
Si tenemos, por ejemplo: struct Registro { ... Dlink l1; Dlink l2; ... };
Entonces LINKNAME_TO_TYPE(Registro, l1) y LINKNAME_TO_TYPE(Registro, l2) generará las funciones:
La idea es disponer de esquemas de nombramiento que permitan hacer la distición entre los campos.
type_name | el tipo de la estructura (struct o class) que contiene al Dlink. |
link_name | el nombre del campo del enlace doble dentro de la estructura. |
#define SLINK_TO_TYPE | ( | type_name, | |
link_name | |||
) |
Genera función de conversión de nombre de enlace simple a estructura que lo contenga. El nombre de la función es literalmente el parámetro que se instancie como link_name
Este macro se utiliza cuando se tiene dos o más Slink que son parte de una estructura y se desea obtener un apuntador a la estructura desde algunos de los enlaces.
Si tenemos, por ejemplo: struct Registro { ... Slink l1; Slink l2; ... };
Entonces slink_TO_TYPE(Registro, l1) y SLINK_TO_TYPE(Registro, l2) generará las funciones:
La idea es disponer de esquemas de nombramiento que prmitan hacer la distición entre los campos.
type_name | el tipo de la estructura (struct o class) que contiene al Slink. |
link_name | el nombre del campo del enlace doble dentro de la estructura. |