DSLib Constant Macros

DSLib Constant Macros — Macros e costanti utilizzate dalla DSLib.

Stability Level

Stable, unless otherwise indicated

Synopsis

#include <dslib.h>

#define             dsSUCCESS
#define             dsCORRECT
#define             dsERROR
#define             dsERROR2
#define             ds_CAST                             (type,
                                                         data)
#define             ds_GET_PROPERTY                     (data,
                                                         property)
#define             ds_ARRAY                            (array,
                                                         id)
#define             ds_ARRAY_DATA                       (array,
                                                         type,
                                                         id,
                                                         property)
#define             ds_ARRAY_PRIMI                      (array,
                                                         type,
                                                         id,
                                                         property)
#define             ds_data_expansive                   (old_child,
                                                         user,
                                                         USER,
                                                         data_name,
                                                         func_dinit,
                                                         ...)
#define             ds_data_inclusive                   (old_child,
                                                         user,
                                                         USER,
                                                         data_name,
                                                         func_dinit,
                                                         ...)
#define             ds_USER_NEW
#define             derivated
#define             structure
#define             dsParent                            (dsType)
#define             dsChild                             (dsType)

Description

Queste macros rappresentano delle costanti essenziali alla corretta funzionalità della libreria DSLib. Vengono utilizzate per svariate questioni e da molte funzioni della DSlib, ad esempio per il ritorno di valori riguardanti la corretta esecuzione di una routine o l'eventuale giungimento di un errore.

Details

dsSUCCESS

	#define dsSUCCESS      0

Valore ritornato in caso di successo.

see also: dsStatus


dsCORRECT

	#define dsCORRECT      0

Valore ritornato in caso di corretta esecuzione.

see also: dsStatus


dsERROR

	#define dsERROR      (-1)

Valore ritornato in caso di errore.

see also: dsStatus


dsERROR2

	#define dsERROR2     (-2)

Valore ritornato in caso di errore.

see also: dsStatus


ds_CAST()

    #define ds_CAST(type,data)     ((type)(data))

stability: Unstable

Provvede al casting di un dato data ritornando un dato di tipo type

type :

un tipo di dato

data :

un dato

ds_GET_PROPERTY()

    #define ds_GET_PROPERTY(data,property)     data->property

stability: Unstable

Accede ad una proprietà di una struttura derivata.

data :

una struttura derivata

property :

un membro della struttura derivata

ds_ARRAY()

    #define ds_ARRAY(array,id)     array[id]

stability: Unstable

Ritorna un dato archiviato in un array.

array :

un array

id :

identificativo ad una posizione di un array

ds_ARRAY_DATA()

    #define ds_ARRAY_DATA(array,type,id,property) ds_CAST(type*,ds_ARRAY(ds_GET_PROPERTY(array,property),id))

stability: Unstable

ritorna la posizione di un blocco di dati archiviato in un array struttura, castando e referenziando l'array.

Utilizzato nei casi in cui l'array struttura archivi dati struttura (struct)

array :

un array struttura valido

type :

tipo di dati utilizzato nel casting

id :

identificativo del blocco di dati archiviato

property :

membro contenuto nell'array struttura

ds_ARRAY_PRIMI()

    #define ds_ARRAY_PRIMI(array,type,id,property) (* ds_CAST(type*,ds_ARRAY(ds_GET_PROPERTY(array,property),id)) )

stability: Unstable

ritorna la posizione di un dato archiviato in un array struttura, castando e referenziando l'array.

Utilizzato nei casi in cui l'array struttura archivi dati primitivi (int,char,etc.)

array :

un array struttura valido

type :

tipo di dati utilizzato nel casting

id :

identificativo del dato archiviato

property :

membro contenuto nell'array struttura

ds_data_expansive()

#define             ds_data_expansive(old_child,user,USER,data_name,func_dinit, ...)

stability: Unstable

Utilizzata nella creazione di strutture derivate espansive.

old_child :

il tipo di struttura derivata di livello più alto

user :

la struttura derivata autorizzata ad accedere alle funzioni di scrittura

USER :

la proprietà user della struttura derivata presente

data_name :

stringa identificativa della struttura derivata presente

func_dinit :

funzione di inizializzazione della struttura derivata espansa

... :

argomenti da passare ad una funzione ds_name_dinit(...)

ds_data_inclusive()

#define             ds_data_inclusive(old_child,user,USER,data_name,func_dinit, ...)

stability: Unstable

Utilizzata nella creazione di strutture derivate inclusive.

old_child :

il tipo di struttura derivata di livello più alto

user :

la struttura derivata autorizzata ad accedere alle funzioni di scrittura

USER :

la proprietà user della struttura derivata presente

data_name :

stringa identificativa della struttura derivata presente

func_dinit :

funzione di inizializzazione della struttura derivata inclusa

... :

argomenti da passare ad una funzione ds_name_dinit(...)

ds_USER_NEW

    #define ds_USER_NEW        NULL

stability: Unstable

Utilizzata nella creazione di strutture derivate.


derivated

    #define derivated

stability: Unstable

Utilizzata nella creazione di strutture derivate.


structure

    #define structure

stability: Unstable

Utilizzata nella creazione di strutture derivate.


dsParent()

#define             dsParent(dsType)

stability: Unstable

Utilizzata nella creazione di strutture derivate.

dsType :

tipo di struttura derivata genitore

dsChild()

#define             dsChild(dsType)

stability: Unstable

Utilizzata nella creazione di strutture derivate.

dsType :

tipo di struttura derivata figlia