GenericList
GenericList
Description
The generic linked list. Not meant to be directly used by user code.
Usage example (Cross-references)
Usage examples (Cross-references)
- In
List.c:4:
#include <Misra/Std/Log.h>
void deinit_list(GenericList *list, u64 item_size) {
if (!list || !item_size) {
LOG_ERROR("invalid arguments");- In
List.c:22:
void insert_into_list(GenericList *list, void *item_data, u64 item_size, u64 idx) {
if (!list || !item_size || !item_data) {
LOG_FATAL("invalid arguments.");- In
List.c:87:
}
void remove_range_list(GenericList *list, void *removed_data, u64 item_size, u64 start, u64 count) {
if (!list || !item_size) {
LOG_FATAL("invalid arguments.");- In
List.c:154:
void qsort_list(GenericList *list, u64 item_size, GenericCompare comp) {
if (!list || !item_size) {
LOG_FATAL("invalid arguments.");- In
List.c:170:
void swap_list(GenericList *list, u64 item_size, u64 idx1, u64 idx2) {
if (!list || !item_size) {
LOG_FATAL("invalid arguments.");- In
List.c:199:
void reverse_list(GenericList *list, u64 item_size) {
if (!list || !item_size) {
LOG_FATAL("invalid arguments.");- In
List.c:213:
void push_arr_list(GenericList *list, u64 item_size, void *arr, u64 count) {
if (!list || !arr || !item_size) {
LOG_FATAL("invalid arguments.");- In
List.c:266:
void merge_list(GenericList *list1, u64 item_size, GenericList *list2) {
if (!list1 || !item_size || !list2) {
LOG_FATAL("invalid arguments.");- In
List.c:282:
void clear_list(GenericList *list, u64 item_size) {
if (!list || !item_size) {
LOG_FATAL("invalid arguments.");- In
List.c:293:
GenericListNode *node_at_list(GenericList *list, u64 item_size, u64 idx) {
if (!list || !item_size) {
LOG_FATAL("invalid arguments.");- In
List.c:312:
void *item_ptr_at_list(GenericList *list, u64 item_size, u64 idx) {
if (!list || !item_size) {
LOG_FATAL("invalid arguments.");- In
List.c:327:
}
void validate_list(const GenericList *l) {
if (!(l)) {
LOG_FATAL("List pointer is NULL.");- In
List.c:370:
}
GenericListNode *get_node_random_access(GenericList *list, GenericListNode *node, u64 nidx, i64 ridx) {
if (!list || !node) {
LOG_FATAL("Invalid arguments");- In
Type.h:38:
u64 length;
u64 __magic;
} GenericList;
///
- In
Type.h:43:
/// Cast any list to a generic list
///
#define GENERIC_LIST(list) ((GenericList *)(void *)(list))
///
- In
Type.h:110:
/// FAILURE: `abort` with an error message.
///
#define ValidateList(l) validate_list((const GenericList *)GENERIC_LIST(l))
#endif // MISRA_STD_CONTAINER_LIST_TYPE_H
Last updated on