identList.h 983 Bytes
#ifndef _IDENT_LIST_H_
#define _IDENT_LIST_H_

typedef struct identList s_identList;

#include <ident.h>
#include <expValue.h>

/* constructor/destructor for new identList */
s_identList * identListNew(void);
void          identListFree(s_identList *);

/* insertions or deletion into a list */
s_ident * identListPutVal(s_identList *, s_ident *);
s_ident * identListPutExpByIdx(s_identList *, int, s_expVal *);
s_ident * identListPutIdlByIdx(s_identList *, int, s_identList *);
s_ident * identListPutExpByKey(s_identList *, const char *, s_expVal *);
s_ident * identListPutIdlByKey(s_identList *, const char *, s_identList *);
void      identListRemoveByIdx(s_identList *, int);
void      identListRemoveByKey(s_identList *, const char *);

/* seeking in list */
s_ident * identListSeekIdx(s_identList *, int);
s_ident * identListSeekKey(s_identList *, const char *);

/* identList to other DataStructures */
s_ident ** identListToArray(s_identList *);

#endif /* _IDENT_LIST_H_ */