Containers
This library provides various containers. Each container has utility functions to manipulate the data it holds. This is an abstraction as to not have to manually manage and reallocate memory.
|
bk_err forward_list_add_all | ( | forward_list | me, |
void *const | arr, | ||
const size_t | size | ||
) |
Copies elements from an array to the singly-linked list. The size specifies the number of elements to copy, starting from the beginning of the array. The size must be less than or equal to the size of the array.
me | the singly-linked list to add data to |
arr | the array to copy data from |
size | the number of elements to copy |
bk_err forward_list_add_at | ( | forward_list | me, |
const size_t | index, | ||
void *const | data | ||
) |
Adds data at a specified index in the singly-linked list. The pointer to the data being passed in should point to the data type which this singly-linked list holds. For example, if this singly-linked list holds integers, the data pointer should be a pointer to an integer. Since the data is being copied, the pointer only has to be valid when this function is called.
me | the singly-linked list to add data to |
index | the index to add the data at |
data | the data to add to the singly-linked list |
bk_err forward_list_add_first | ( | forward_list | me, |
void *const | data | ||
) |
Adds data at the first index in the singly-linked list. The pointer to the data being passed in should point to the data type which this singly-linked list holds. For example, if this singly-linked list holds integers, the data pointer should be a pointer to an integer. Since the data is being copied, the pointer only has to be valid when this function is called.
me | the singly-linked list to add data to |
data | the data to add to the singly-linked list |
bk_err forward_list_add_last | ( | forward_list | me, |
void *const | data | ||
) |
Adds data at the last index in the singly-linked list. The pointer to the data being passed in should point to the data type which this singly-linked list holds. For example, if this singly-linked list holds integers, the data pointer should be a pointer to an integer. Since the data is being copied, the pointer only has to be valid when this function is called.
me | the singly-linked list to add data to |
data | the data to add to the singly-linked list |
void forward_list_clear | ( | forward_list | me | ) |
Clears all elements from the singly-linked list.
me | the singly-linked list to clear |
void forward_list_copy_to_array | ( | void *const | arr, |
forward_list | me | ||
) |
Copies the nodes of the singly-linked list to an array. Since it is a copy, the array may be modified without causing side effects to the singly-linked list data structure. Memory is not allocated, thus the array being used for the copy must be allocated before this function is called. The size of the singly-linked list should be queried prior to calling this function, which also serves as the size of the newly-copied array.
arr | the initialized array to copy the singly-linked list to |
me | the singly-linked list to copy to the array |
forward_list forward_list_destroy | ( | forward_list | me | ) |
Destroys the singly-linked list. Performing further operations after calling this function results in undefined behavior. Freeing NULL is legal, and causes no operation to be performed.
me | the singly-linked list to destroy |
bk_err forward_list_get_at | ( | void *const | data, |
forward_list | me, | ||
const size_t | index | ||
) |
Gets the data at the specified index in the singly-linked list. The pointer to the data being obtained should point to the data type which this singly- linked list holds. For example, if this singly-linked list holds integers, the data pointer should be a pointer to an integer. Since this data is being copied from the array to the data pointer, the pointer only has to be valid when this function is called.
data | the data to get |
me | the singly-linked list to get data from |
index | the index to get data from |
bk_err forward_list_get_first | ( | void *const | data, |
forward_list | me | ||
) |
Gets the data at the first index in the singly-linked list. The pointer to the data being obtained should point to the data type which this singly- linked list holds. For example, if this singly-linked list holds integers, the data pointer should be a pointer to an integer. Since this data is being copied from the array to the data pointer, the pointer only has to be valid when this function is called.
data | the data to get |
me | the singly-linked list to get data from |
bk_err forward_list_get_last | ( | void *const | data, |
forward_list | me | ||
) |
Gets the data at the last index in the singly-linked list. The pointer to the data being obtained should point to the data type which this singly- linked list holds. For example, if this singly-linked list holds integers, the data pointer should be a pointer to an integer. Since this data is being copied from the array to the data pointer, the pointer only has to be valid when this function is called.
data | the data to get |
me | the singly-linked list to get data from |
forward_list forward_list_init | ( | const size_t | data_size | ) |
Initializes a singly-linked list.
data_size | the size of data to store; must be positive |
bk_bool forward_list_is_empty | ( | forward_list | me | ) |
Determines if the singly-linked list is empty.
me | the singly-linked list to check |
bk_err forward_list_remove_at | ( | forward_list | me, |
const size_t | index | ||
) |
Removes data from the singly-linked list at the specified index.
me | the singly-linked list to remove data from |
index | the index to remove from |
bk_err forward_list_remove_first | ( | forward_list | me | ) |
Removes the first piece of data from the singly-linked list.
me | the singly-linked list to remove data from |
bk_err forward_list_remove_last | ( | forward_list | me | ) |
Removes the last piece of data from the singly-linked list.
me | the singly-linked list to remove data from |
bk_err forward_list_set_at | ( | forward_list | me, |
const size_t | index, | ||
void *const | data | ||
) |
Sets the data at the specified index in the singly-linked list. The pointer to the data being passed in should point to the data type which this singly- linked list holds. For example, if this singly-linked list holds integers, the data pointer should be a pointer to an integer. Since the data is being copied, the pointer only has to be valid when this function is called.
me | the singly-linked list to set data for |
index | the index to set data in the singly-linked list |
data | the data to set in the singly-linked list |
bk_err forward_list_set_first | ( | forward_list | me, |
void *const | data | ||
) |
Sets the data at the first index in the singly-linked list. The pointer to the data being passed in should point to the data type which this singly- linked list holds. For example, if this singly-linked list holds integers, the data pointer should be a pointer to an integer. Since the data is being copied, the pointer only has to be valid when this function is called.
me | the singly-linked list to set data for |
data | the data to set in the singly-linked list |
bk_err forward_list_set_last | ( | forward_list | me, |
void *const | data | ||
) |
Sets the data at the last index in the singly-linked list. The pointer to the data being passed in should point to the data type which this singly- linked list holds. For example, if this singly-linked list holds integers, the data pointer should be a pointer to an integer. Since the data is being copied, the pointer only has to be valid when this function is called.
me | the singly-linked list to set data for |
data | the data to set in the singly-linked list |
size_t forward_list_size | ( | forward_list | me | ) |
Gets the number of elements in the singly-linked list.
me | the singly-linked list to check |