LibJuno 0.1.0
LibJuno is a lightweight C99 library designed specifically for embedded systems.
Loading...
Searching...
No Matches
map_api.h
Go to the documentation of this file.
1#ifndef JUNO_MAP_API_H
2#define JUNO_MAP_API_H
4#include "juno/status.h"
5#include <stddef.h>
6#include <stdint.h>
7#ifdef __cplusplus
8extern "C" {
9#endif
10
11#include "juno/map/map_types.h"
12
14
16{
28 JUNO_MAP_T *ptMap,
29 const JUNO_HASH_API_T *ptHashApi,
30 JUNO_MEMORY_T *ptKeyTable,
31 JUNO_MEMORY_T *ptValueTable,
32 size_t zCapacity,
33 JUNO_MAP_KEY_EQUAL_FCN_T pfcnIsEqual,
34 JUNO_FAILURE_HANDLER_T pfcnFailureHandler,
35 JUNO_USER_DATA_T *pvFailureUserData
36 );
37
44
50
58};
59
60
61#ifdef __cplusplus
62}
63#endif
64#endif
65
66
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
JUNO_STATUS_T(* Remove)(JUNO_MAP_T *ptMap, JUNO_MEMORY_T tKey)
Definition map_api.h:49
JUNO_STATUS_T(* Set)(JUNO_MAP_T *ptMap, JUNO_MEMORY_T tKey, JUNO_MEMORY_T tValue)
Definition map_api.h:43
JUNO_STATUS_T(* Get)(JUNO_MAP_T *ptMap, JUNO_MEMORY_T tKey, JUNO_MEMORY_T *ptRetValue)
Definition map_api.h:57
JUNO_STATUS_T(* Init)(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 map_api.h:27
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