MLib Reference Manual | ||||
---|---|---|---|---|
Top | Description |
#include <mlib.h> struct MICollections; #define M_ICOLLECTIONS (data) #define M_ICOLLECTIONS_TO_ICOLLECTIONQ (collection, id) #define M_ICOLLECTIONS_DATA (collection, type, id_collection, id) #define M_ICOLLECTIONS_PRIMI (collection, type, id_collection, id) #define M_ICOLLECTIONS_user (data) MICollections * m_icollections_new (void
); MId m_icollections_insert_collection_info (MICollections *icollections
,MICollectionsInfo *info
); MId m_icollections_insert_collection (MICollections *icollections
,mchars string
,MIdOffSet offset
,msize s_type
,MInizialize inizialize
,MDestroy destroy
); MId m_icollections_remove_collection (MICollections *icollections
,MId id
); MId m_icollections_insert_element (MICollections *icollections
,MId id
,mpointer data
); MId m_icollections_remove_element (MICollections *icollections
,MId id_collection
,MId id
); #define m_c_icollections_insert_collection_info(icollections, info) #define m_c_icollections_insert_collection (icollections, string, offset, s_type, inizialize, destroy) #define m_c_icollections_remove_collection (icollections, id) #define m_c_icollections_insert_element (icollections, id, data) #define m_c_icollections_remove_element (icollections, id_collection, id)
Attraverso le strutture MICollections è possibile gestire collezzioni di collezzioni archiviati, utilizzando al posto dei puntarori degli identificativi univoci di tipo MId.
Nota: la collezione principale è del tipo MICollection mentre gli array archiviati sono del tipo MICollectionQuark.
struct MICollections { };
contiene una lista di puntatori a collezzioni di dati indefiniti
Se utilizzata in una struttura non e' necessario che questa contenga una MDefine poiche' gia' presente nella MICollections.
Questa è una struttura derivata ed è diretta evoluzione della struttura MICollection, della quale eredita le proprietà.
Attenzione: non è possibile utilizzare questa struttura come se fosse una MICollection!
#define M_ICOLLECTIONS(data) ds_CAST (MICollections*,data)
stability
: Unstable
Provvede al casting di una struttura data
ritornando una struttura di tipo MICollections
|
struttura derivata |
#define M_ICOLLECTIONS_TO_ICOLLECTIONQ(collection,id)
ritorna l'indirizzo della collezione di tipo MICollectionQuark archiviato in un MICollections.
|
un MICollections valido |
|
identificativo della collezione archiviata |
#define M_ICOLLECTIONS_DATA(collection,type,id_collection,id)
ritorna la posizione di un blocco di dati archiviato in un MICollectionQuark castando e referenziando l'array.
Utilizzato nei casi in cui l' MICollectionQuark archivi dati struttura (struct)
|
un MICollections valido |
|
tipo di dati archiviato nella MICollectionQuark |
|
identificativo della collezione archiviata |
|
identificativo del blocco di dati archiviato nella collezione di tipo MICollectionQuark |
#define M_ICOLLECTIONS_PRIMI(collection,type,id_collection,id)
ritorna la posizione di un dato archiviato in un MICollectionQuark castando e referenziando l'array.
Utilizzato nei casi in cui l' MICollectionQuark archivi dati primitivi (int,char,etc.)
|
un MICollections valido |
|
tipo di dati archiviato nella MICollectionQuark |
|
identificativo della collezione archiviata |
|
identificativo del dato archiviato della collezione di tipo MICollectionQuark |
#define M_ICOLLECTIONS_user(data) ds_GET_PROPERTY(M_ICOLLECTIONS(data),user)
stability
: Unstable
Provvede al casting di un dato data
ritornando la proprietà "user"
|
una struttura derivata |
MICollections * m_icollections_new (void
);
Crea un nuovo MICollections.
Returns : |
un nuovo MICollections o NULL in caso di errore.
|
Since 0.0.2
MId m_icollections_insert_collection_info (MICollections *icollections
,MICollectionsInfo *info
);
Inserisce una collezione di tipo MICollectionQuark in un MICollections.
Provvede a passare i dati info
per l'inizializzazione.
|
un MICollections inizializzato |
|
un MICollectionsInfo contenente i dati inerenti |
Returns : |
un identificativo valido o MERROR in caso di errore
|
Since 0.0.2
MId m_icollections_insert_collection (MICollections *icollections
,mchars string
,MIdOffSet offset
,msize s_type
,MInizialize inizialize
,MDestroy destroy
);
Inserisce una collezione di tipo MICollectionQuark in un MICollections.
Provvede a passare i dati info
per l'inizializzazione.
|
un MICollections inizializzato |
|
una stringa da associare all'identificativo della lista. |
|
quantita' massima di blocchi di dati inseribili |
|
grandezza in byte di un tipo di dati personale |
|
funzione da chiamare dopo l'inserimento di un dato |
|
funzione da chiamare dopo la rimozione di un dato |
Returns : |
un identificativo valido o MERROR in caso di errore
|
Since 0.0.2
MId m_icollections_remove_collection (MICollections *icollections
,MId id
);
Rimuove una collezione di tipo MICollectionQuark da un MICollections.
|
un MICollections inizializzato |
|
un identificativo valido |
Returns : |
il MId dell'elemento rimosso o MERROR in caso di errore
|
Since 0.0.2
MId m_icollections_insert_element (MICollections *icollections
,MId id
,mpointer data
);
Inserisce un elemento in un MICollectionQuark archiviato in un MICollections.
Provvede a passare dei dati data
per l'inizializzazione.
|
un MICollections inizializzato |
|
identificativo della collezione archiviata |
|
l'indirizzo a un blocco di dati o NULL
|
Returns : |
un identificativo valido o MERROR in caso di errore
|
Since 0.0.2
MId m_icollections_remove_element (MICollections *icollections
,MId id_collection
,MId id
);
Rimuove un elemento da un MICollectionQuark archiviato in un MICollections.
|
un MICollections inizializzato |
|
identificativo della collezione archiviata |
|
identificativo dell'elemento archiviato nella collezione di tipo MICollectionQuark |
Returns : |
il MId dell'elemento rimosso o MERROR in caso di errore
|
Since 0.0.1
#define m_c_icollections_insert_collection_info(icollections,info)
stability
: Unstable
Come la funzione m_icollections_insert_collection_info()
, provvede a passare il dato castato.
|
un MICollections inizializzato |
|
un MICollectionsInfo contenente i dati inerenti |
#define m_c_icollections_insert_collection(icollections,string,offset,s_type,inizialize,destroy)
stability
: Unstable
Come la funzione m_icollections_insert_collection()
, provvede a passare il dato castato.
|
un MICollections inizializzato |
|
una stringa da associare all'identificativo della lista. |
|
quantita' massima di blocchi di dati inseribili |
|
grandezza in byte di un tipo di dati personale |
|
funzione da chiamare dopo l'inserimento di un dato |
|
funzione da chiamare dopo la rimozione di un dato |
#define m_c_icollections_remove_collection(icollections,id)
stability
: Unstable
Come la funzione m_icollections_remove_collection()
, provvede a passare il dato castato.
|
un MICollections inizializzato |
|
un identificativo valido |
#define m_c_icollections_insert_element(icollections,id,data)
stability
: Unstable
Come la funzione m_icollections_insert_element()
, provvede a passare il dato castato.
|
un MICollections inizializzato |
|
identificativo della collezione archiviata |
|
l'indirizzo a un blocco di dati o NULL
|
#define m_c_icollections_remove_element(icollections,id_collection,id)
stability
: Unstable
Come la funzione m_icollections_remove_element()
, provvede a passare il dato castato.
|
un MICollections inizializzato |
|
identificativo della collezione archiviata |
|
identificativo dell'elemento archiviato nella collezione di tipo MICollectionQuark |