From fba53fe13b8e52f29a3de6453c3668c1df36a2a8 Mon Sep 17 00:00:00 2001 From: Hammy Date: Sun, 26 Dec 2021 02:53:35 +0000 Subject: [PATCH] Add documentation --- src/list.h | 121 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 102 insertions(+), 19 deletions(-) diff --git a/src/list.h b/src/list.h index 095214d..a3ab6ce 100644 --- a/src/list.h +++ b/src/list.h @@ -12,77 +12,160 @@ typedef struct list List; /* - * Function: List_new + * Function: List_new() * ---------------------------- * Return a new list that has been dynamically allocated memory on the heap * - * returns: int (Pointer To List) + * returns: List (Pointer To List) */ List *List_new(); /* - * Function: List_get + * Function: List_get(List *list, int index) * ---------------------------- * Retrieve an element from the list at the given index * * *list: the list to append onto * index: the index of the list to retrieve * - * returns: int + * returns: int (0 for success, Non-0 for error) */ int List_get(List *list, int index); /* - * Function: List_append + * Function: List_append(List *list, int element) * ---------------------------- - * Appends an element onto the end of the list + * Append an element onto the end of the list * * *list: the list to append onto * element: the element to insert into the list * - * returns: int + * returns: int (0 for success, Non-0 for error) */ int List_append(List *list, int element); /* - * Function: List_insert + * Function: List_insert(List *list, int index, int element) * ---------------------------- - * Inserts the given element into a valid index of the list + * Insert the given element into a valid index of the list * * *list: the list to append onto * index: the index to insert the given value * element: the element to insert into the list * - * returns: int + * returns: int (0 for success, Non-0 for error) */ int List_insert(List *list, int index, int element); /* - * Function: List_remove + * Function: List_remove(List *list, int element) * ---------------------------- - * Appends an element onto the end of the list + * Append an element onto the end of the list * * *list: the list to append onto * element: the element to insert into the list * - * returns: int + * returns: int (0 for success, Non-0 for error) */ int List_remove(List *list, int element); -// TODO +/* + * Function: List_sort(List *list) + * ---------------------------- + * Sorts the given list into ascending order in-place + * + * *list: the list to sort in-place + * + * returns: int (0 for success, Non-0 for error) + */ int List_sort(List *list); -// TODO +/* + * Function: List_copy(List *list) + * ---------------------------- + * Return a shallow copy of the given list + * + * *list: the list to copy + * + * returns: List (Pointer to List) + */ List *List_copy(List *list); -// TODO +/* + * Function: List_clear + * ---------------------------- + * Empty the given list + * + * ======================================================================= + * WARNING: This does NOT free the allocated memory for elements cleared. + * ======================================================================= + * + * *list: the list to clear + * + * returns: int (0 for success, Non-0 for error) + */ +int List_clear(List *list); + +/* + * Function: List_slice(List *list, int start_index, int end_index) + * ---------------------------- + * Return a sublist of the given list according to given indexes + * + * *list: the list to slice + * start_index: the starting index to slice from (inclusive) + * end_index: the ending index to slice until (exclusive) + * + * ================================= + * E.g + * Given List -> [0, 1, 2, 3, 4, 5] + * When List_slice(list, 1, 4); + * Then List Returned -> [1, 2, 3] + * ================================= + * + * returns: List (Pointer To List) + */ List *List_slice(List *list, int start_index, int end_index); -// TODO +/* + * Function: List_length(List *list) + * ---------------------------- + * Return the length of the given list + * + * *list: the list to get the length of + * + * returns: int + */ int List_length(List *list); -// TODO +/* + * Function: List_maxLength(List *list) + * ---------------------------- + * Return the maxLength (current maximum length allocated in memory) of the given list + * + * *list: the list to get the maximum length of + * + * returns: int + */ +int List_maxLength(List *list); + +/* + * Function: List_print(List *list) + * ---------------------------- + * Print out the current elements within the given list + * + * *list: the list to print out + * + * returns: void + */ void List_print(List *list); -// TODO +/* + * Function: List_destroy(List *list) + * ---------------------------- + * Free the memory allocated to the list + * + * **list: a pointer to the list to free in memory + * + * returns: void + */ void List_destroy(List **list); \ No newline at end of file