Warning, file /include/harfbuzz/hb-map.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027 #if !defined(HB_H_IN) && !defined(HB_NO_SINGLE_HEADER_ERROR)
0028 #error "Include <hb.h> instead."
0029 #endif
0030
0031 #ifndef HB_MAP_H
0032 #define HB_MAP_H
0033
0034 #include "hb-common.h"
0035 #include "hb-set.h"
0036
0037 HB_BEGIN_DECLS
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047 #define HB_MAP_VALUE_INVALID HB_CODEPOINT_INVALID
0048
0049
0050
0051
0052
0053
0054
0055 typedef struct hb_map_t hb_map_t;
0056
0057
0058 HB_EXTERN hb_map_t *
0059 hb_map_create (void);
0060
0061 HB_EXTERN hb_map_t *
0062 hb_map_get_empty (void);
0063
0064 HB_EXTERN hb_map_t *
0065 hb_map_reference (hb_map_t *map);
0066
0067 HB_EXTERN void
0068 hb_map_destroy (hb_map_t *map);
0069
0070 HB_EXTERN hb_bool_t
0071 hb_map_set_user_data (hb_map_t *map,
0072 hb_user_data_key_t *key,
0073 void * data,
0074 hb_destroy_func_t destroy,
0075 hb_bool_t replace);
0076
0077 HB_EXTERN void *
0078 hb_map_get_user_data (const hb_map_t *map,
0079 hb_user_data_key_t *key);
0080
0081
0082
0083 HB_EXTERN hb_bool_t
0084 hb_map_allocation_successful (const hb_map_t *map);
0085
0086 HB_EXTERN hb_map_t *
0087 hb_map_copy (const hb_map_t *map);
0088
0089 HB_EXTERN void
0090 hb_map_clear (hb_map_t *map);
0091
0092 HB_EXTERN hb_bool_t
0093 hb_map_is_empty (const hb_map_t *map);
0094
0095 HB_EXTERN unsigned int
0096 hb_map_get_population (const hb_map_t *map);
0097
0098 HB_EXTERN hb_bool_t
0099 hb_map_is_equal (const hb_map_t *map,
0100 const hb_map_t *other);
0101
0102 HB_EXTERN unsigned int
0103 hb_map_hash (const hb_map_t *map);
0104
0105 HB_EXTERN void
0106 hb_map_set (hb_map_t *map,
0107 hb_codepoint_t key,
0108 hb_codepoint_t value);
0109
0110 HB_EXTERN hb_codepoint_t
0111 hb_map_get (const hb_map_t *map,
0112 hb_codepoint_t key);
0113
0114 HB_EXTERN void
0115 hb_map_del (hb_map_t *map,
0116 hb_codepoint_t key);
0117
0118 HB_EXTERN hb_bool_t
0119 hb_map_has (const hb_map_t *map,
0120 hb_codepoint_t key);
0121
0122 HB_EXTERN void
0123 hb_map_update (hb_map_t *map,
0124 const hb_map_t *other);
0125
0126
0127 HB_EXTERN hb_bool_t
0128 hb_map_next (const hb_map_t *map,
0129 int *idx,
0130 hb_codepoint_t *key,
0131 hb_codepoint_t *value);
0132
0133 HB_EXTERN void
0134 hb_map_keys (const hb_map_t *map,
0135 hb_set_t *keys);
0136
0137 HB_EXTERN void
0138 hb_map_values (const hb_map_t *map,
0139 hb_set_t *values);
0140
0141 HB_END_DECLS
0142
0143 #endif