libcute 0.1
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
dlist.h File Reference
#include "macro.h"
#include "memory/allocator.h"
#include "object/optional.h"
#include "object/result.h"
#include "object/destructor.h"
#include "utility.h"
#include <nostd.h>
#include <stddef.h>
Include dependency graph for dlist.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  cu_DList
 

Enumerations

enum  cu_DList_Error {
  CU_DLIST_ERROR_NONE = 0 , CU_DLIST_ERROR_OOM , CU_DLIST_ERROR_INVALID_LAYOUT , CU_DLIST_ERROR_INVALID ,
  CU_DLIST_ERROR_EMPTY
}
 

Functions

cu_DList_Result cu_DList_create (cu_Allocator allocator, cu_Layout layout, cu_Destructor_Optional destructor)
 
void cu_DList_destroy (cu_DList *list)
 
cu_DList_Error_Optional cu_DList_push_front (cu_DList *list, void *elem)
 
cu_DList_Error_Optional cu_DList_push_back (cu_DList *list, void *elem)
 
cu_DList_Error_Optional cu_DList_pop_front (cu_DList *list, void *out_elem)
 
cu_DList_Error_Optional cu_DList_pop_back (cu_DList *list, void *out_elem)
 
cu_DList_Error_Optional cu_DList_insert_after (cu_DList *list, struct cu_DList_Node *pos, void *elem)
 
cu_DList_Error_Optional cu_DList_insert_before (cu_DList *list, struct cu_DList_Node *pos, void *elem)
 
bool cu_DList_iter (const cu_DList *list, struct cu_DList_Node **node, void **out_elem)
 

Detailed Description

Doubly linked list container.