LibJuno 1.0.1
LibJuno is a lightweight C11 library designed specifically for embedded systems.
Loading...
Searching...
No Matches
juno_map.c File Reference
#include "juno/ds/array_api.h"
#include "juno/macros.h"
#include "juno/ds/map_api.h"
#include "juno/memory/pointer_api.h"
#include "juno/status.h"
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
Include dependency graph for juno_map.c:

Functions

JUNO_STATUS_T JunoDs_MapInit (JUNO_MAP_ROOT_T *ptMapRoot, const JUNO_MAP_HASHABLE_POINTER_API_T *ptHashablePointerApi, const JUNO_VALUE_POINTER_API_T *ptValuePointerApi, JUNO_DS_ARRAY_ROOT_T *ptArray, JUNO_FAILURE_HANDLER_T pfcnFailureHandler, JUNO_USER_DATA_T *pvUserData)
 Initialize the map root with hashing/equality APIs and backing array.
 
static JUNO_RESULT_POINTER_T JunoDs_MapGetWithKey (JUNO_MAP_ROOT_T *ptJunoMap, JUNO_POINTER_T tItem)
 
JUNO_RESULT_POINTER_T JunoDs_MapGet (JUNO_MAP_ROOT_T *ptJunoMap, JUNO_POINTER_T tItem)
 Retrieve an entry by key via linear probing.
 
JUNO_STATUS_T JunoDs_MapSet (JUNO_MAP_ROOT_T *ptJunoMap, JUNO_POINTER_T tItem)
 Insert or update an entry (key/value) via linear probing.
 
JUNO_STATUS_T JunoDs_MapRemove (JUNO_MAP_ROOT_T *ptJunoMap, JUNO_POINTER_T tItem)
 Remove an entry by key via linear probing.
 

Variables

static const JUNO_MAP_API_T gtMapApi
 

Function Documentation

◆ JunoDs_MapGetWithKey()

static JUNO_RESULT_POINTER_T JunoDs_MapGetWithKey ( JUNO_MAP_ROOT_T ptJunoMap,
JUNO_POINTER_T  tItem 
)
static

Variable Documentation

◆ gtMapApi

const JUNO_MAP_API_T gtMapApi
static
Initial value:
=
{
}
JUNO_STATUS_T JunoDs_MapSet(JUNO_MAP_ROOT_T *ptJunoMap, JUNO_POINTER_T tItem)
Insert or update an entry (key/value) via linear probing.
Definition juno_map.c:133
JUNO_STATUS_T JunoDs_MapRemove(JUNO_MAP_ROOT_T *ptJunoMap, JUNO_POINTER_T tItem)
Remove an entry by key via linear probing.
Definition juno_map.c:153
JUNO_RESULT_POINTER_T JunoDs_MapGet(JUNO_MAP_ROOT_T *ptJunoMap, JUNO_POINTER_T tItem)
Retrieve an entry by key via linear probing.
Definition juno_map.c:108