drmaa2_list3
Usage
#include "drmaa.h"
struct drmaa2_list_s; /*forward*/
typedef struct drmaa2_list_s *drmaa2_list;
typedef struct drmaa2_list_s *drmaa2_string_list;
typedef struct drmaa2_list_s *drmaa2_j_list;
typedef struct drmaa2_list_s *drmaa2_queueinfo_list;
typedef struct drmaa2_list_s *drmaa2_machineinfo_list;
typedef struct drmaa2_list_s *drmaa2_slotinfo_list;
typedef struct drmaa2_list_s *drmaa2_r_list;
typedef enum drmaa2_listtype {
DRMAA2_STRINGLIST,
DRMAA2_JOBLIST,
DRMAA2_QUEUEINFOLIST,
DRMAA2_MACHINEINFOLIST,
DRMAA2_SLOTINFOLIST,
DRMAA2_RESERVATIONLIST
} drmaa2_listtype;
typedef void (*drmaa2_list_entryfree)(void **value);
drmaa2_list drmaa2_list_create (const drmaa2_listtype t, const drmaa2_list_entryfree callback);
void drmaa2_list_free(drmaa2_list *l);
const void *drmaa2_list_get(const drmaa2_list l, long pos);
drmaa2_error drmaa2_list_add(drmaa2_list l, const void *value);
drmaa2_error drmaa2_list_del(drmaa2_list l, long pos);
long drmaa2_list_size(const drmaa2_list l);
Overview
drmaa2_list_create()-
Creates a new list instance for the specified type of items. Returns a pointer to the list or NULL on error. Optional parameter callback allows the application to provide a callback pointer to a collection element cleanup function.
DRMAA2_UNSET_CALLBACKmay be supplied instead of a valid callback pointer.
drmaa2_list_free()-
Frees the list and the contained members. If a callback function was provided on list creation, it SHALL be called once per list item.
drmaa2_list_get()-
Gets the list element at the indicated position. The element index starts at zero. If the index is invalid, the function returns NULL.
drmaa2_list_add()-
Adds a new item at the end of the list and returns a success indication. The list MUST contain only the provided pointer, not a deep copy of the provided data structure.
drmaa2_list_del()-
Removes the list element at the indicated position and returns a success indication. If a callback function was provided on list creation, it SHALL be called before this function returns.
drmaa2_list_size()-
Returns the number of elements in the list. If the list is empty, then the function returns 0, which SHALL NOT be treated as an error case.
Releases
Unchanged in 5 releases since Debian 9 (Stretch).