LibJuno 0.1.0
LibJuno is a lightweight C99 library designed specifically for embedded systems.
Loading...
Searching...
No Matches
map.h
Go to the documentation of this file.
1#ifndef JUNO_MAP_H
2#define JUNO_MAP_H
3
4#include "juno/map/map_api.h"
7#include "juno/status.h"
8#include <stddef.h>
9#include <stdint.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
26 JUNO_MAP_T *ptMap,
27 const JUNO_HASH_API_T *ptHashApi,
28 JUNO_MEMORY_T *ptKeyTable,
29 JUNO_MEMORY_T *ptValueTable,
30 size_t zCapacity,
31 JUNO_MAP_KEY_EQUAL_FCN_T pfcnIsEqual,
32 JUNO_FAILURE_HANDLER_T pfcnFailureHandler,
33 JUNO_USER_DATA_T *pvFailureUserData
34);
35
42
48
56
57const JUNO_MAP_API_T * Juno_MapApi(void);
58#ifdef __cplusplus
59}
60#endif
61#endif
JUNO_STATUS_T Juno_MapGet(JUNO_MAP_T *ptMap, JUNO_MEMORY_T tKey, JUNO_MEMORY_T *ptRetValue)
Definition juno_map.c:118
JUNO_STATUS_T Juno_MapSet(JUNO_MAP_T *ptMap, JUNO_MEMORY_T tKey, JUNO_MEMORY_T tValue)
Definition juno_map.c:93
JUNO_STATUS_T Juno_MapRemove(JUNO_MAP_T *ptMap, JUNO_MEMORY_T tKey)
Definition juno_map.c:105
const JUNO_MAP_API_T * Juno_MapApi(void)
Definition juno_map.c:143
JUNO_STATUS_T Juno_MapInit(JUNO_MAP_T *ptMap, const JUNO_HASH_API_T *ptHashApi, JUNO_MEMORY_T *ptKeyTable, JUNO_MEMORY_T *ptValueTable, size_t zCapacity, JUNO_MAP_KEY_EQUAL_FCN_T pfcnIsEqual, JUNO_FAILURE_HANDLER_T pfcnFailureHandler, JUNO_USER_DATA_T *pvFailureUserData)
Definition juno_map.c:28
bool(* JUNO_MAP_KEY_EQUAL_FCN_T)(JUNO_MEMORY_T ptKey1, JUNO_MEMORY_T ptKey2)
Definition map_types.h:16
void(* JUNO_FAILURE_HANDLER_T)(JUNO_STATUS_T tStatus, const char *pcCustomMessage, JUNO_USER_DATA_T *pvUserData)
Definition status.h:26
enum JUNO_STATUS_TAG JUNO_STATUS_T
void JUNO_USER_DATA_T
Definition status.h:25
Definition hash_api.h:14
Definition map_api.h:16
Definition map_types.h:19
Structure for an allocated memory segment. Describes the allocated memory with a pointer to the start...
Definition memory_types.h:60