Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
ghash.h
Go to the documentation of this file.
1/* GLIB - Library of useful routines for C programming
2 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
3 *
4 * SPDX-License-Identifier: LGPL-2.1-or-later
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
18 */
19
20/*
21 * Modified by the GLib Team and others 1997-2000. See the AUTHORS
22 * file for a list of people on the GLib Team. See the ChangeLog
23 * files for a list of changes. These files are distributed with
24 * GLib at ftp://ftp.gtk.org/pub/gtk/.
25 */
26
27#ifndef __G_HASH_H__
28#define __G_HASH_H__
29
30#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
31#error "Only <glib.h> can be included directly."
32#endif
33
34#include <glib/gtypes.h>
35#include <glib/garray.h>
36#include <glib/glist.h>
37
39
40typedef struct _GHashTable GHashTable;
41
42typedef gboolean (*GHRFunc) (gpointer key,
44 gpointer user_data);
45
47
58
61 GEqualFunc key_equal_func);
64 GEqualFunc key_equal_func,
65 GDestroyNotify key_destroy_func,
66 GDestroyNotify value_destroy_func);
73 gpointer key,
77 gpointer key,
81 gpointer key);
84 gconstpointer key);
89 gconstpointer key);
92 gconstpointer lookup_key,
93 gpointer *stolen_key,
94 gpointer *stolen_value);
103 gconstpointer key);
106 gconstpointer key);
109 gconstpointer lookup_key,
110 gpointer *orig_key,
111 gpointer *value);
114 GHFunc func,
115 gpointer user_data);
118 GHRFunc predicate,
119 gpointer user_data);
122 GHRFunc func,
123 gpointer user_data);
126 GHRFunc func,
127 gpointer user_data);
136 guint *length);
139
142
145 GHashTable *hash_table);
148 gpointer *key,
149 gpointer *value);
159
164
165#define g_hash_table_freeze(hash_table) ((void)0) GLIB_DEPRECATED_MACRO_IN_2_26
166#define g_hash_table_thaw(hash_table) ((void)0) GLIB_DEPRECATED_MACRO_IN_2_26
167
168/* Hash Functions
169 */
172 gconstpointer v2);
173
174/* Macro for optimization in the case it is not used as callback function */
175#define g_str_equal(v1, v2) (strcmp ((const char *) (v1), (const char *) (v2)) == 0)
176
179
182 gconstpointer v2);
185
188 gconstpointer v2);
191
194 gconstpointer v2);
197
203
205
206#endif /* __G_HASH_H__ */
GLIB_AVAILABLE_IN_ALL guint g_int64_hash(gconstpointer v)
GLIB_AVAILABLE_IN_ALL guint g_hash_table_foreach_remove(GHashTable *hash_table, GHRFunc func, gpointer user_data)
GLIB_AVAILABLE_IN_2_76 GPtrArray * g_hash_table_steal_all_values(GHashTable *hash_table)
GLIB_AVAILABLE_IN_ALL gboolean g_hash_table_contains(GHashTable *hash_table, gconstpointer key)
typedefG_BEGIN_DECLS struct _GHashTable GHashTable
Definition ghash.h:40
GLIB_AVAILABLE_IN_ALL guint g_str_hash(gconstpointer v)
GLIB_AVAILABLE_IN_2_76 GPtrArray * g_hash_table_get_values_as_ptr_array(GHashTable *hash_table)
GLIB_AVAILABLE_IN_ALL GList * g_hash_table_get_keys(GHashTable *hash_table)
GLIB_AVAILABLE_IN_ALL GHashTable * g_hash_table_new(GHashFunc hash_func, GEqualFunc key_equal_func)
GLIB_AVAILABLE_IN_2_72 GHashTable * g_hash_table_new_similar(GHashTable *other_hash_table)
GLIB_AVAILABLE_IN_ALL gboolean g_int_equal(gconstpointer v1, gconstpointer v2)
GLIB_AVAILABLE_IN_ALL void g_hash_table_unref(GHashTable *hash_table)
GLIB_AVAILABLE_IN_2_76 GPtrArray * g_hash_table_steal_all_keys(GHashTable *hash_table)
GLIB_AVAILABLE_IN_ALL GHashTable * g_hash_table_ref(GHashTable *hash_table)
GLIB_AVAILABLE_IN_ALL gboolean g_hash_table_iter_next(GHashTableIter *iter, gpointer *key, gpointer *value)
GLIB_AVAILABLE_IN_2_40 gpointer * g_hash_table_get_keys_as_array(GHashTable *hash_table, guint *length)
GLIB_AVAILABLE_IN_ALL gboolean g_direct_equal(gconstpointer v1, gconstpointer v2) G_GNUC_CONST
GLIB_AVAILABLE_IN_ALL gpointer g_hash_table_find(GHashTable *hash_table, GHRFunc predicate, gpointer user_data)
GLIB_AVAILABLE_IN_2_76 GPtrArray * g_hash_table_get_keys_as_ptr_array(GHashTable *hash_table)
GLIB_AVAILABLE_IN_2_30 void g_hash_table_iter_replace(GHashTableIter *iter, gpointer value)
GLIB_AVAILABLE_IN_ALL gboolean g_hash_table_steal(GHashTable *hash_table, gconstpointer key)
GLIB_AVAILABLE_IN_ALL guint g_int_hash(gconstpointer v)
GLIB_AVAILABLE_IN_ALL GHashTable * g_hash_table_iter_get_hash_table(GHashTableIter *iter)
GLIB_AVAILABLE_IN_ALL void g_hash_table_remove_all(GHashTable *hash_table)
GLIB_AVAILABLE_IN_ALL void g_hash_table_foreach(GHashTable *hash_table, GHFunc func, gpointer user_data)
GLIB_AVAILABLE_IN_ALL void g_hash_table_steal_all(GHashTable *hash_table)
GLIB_AVAILABLE_IN_ALL gboolean g_hash_table_lookup_extended(GHashTable *hash_table, gconstpointer lookup_key, gpointer *orig_key, gpointer *value)
GLIB_AVAILABLE_IN_ALL void g_hash_table_destroy(GHashTable *hash_table)
GLIB_AVAILABLE_IN_ALL gpointer g_hash_table_lookup(GHashTable *hash_table, gconstpointer key)
GLIB_AVAILABLE_IN_2_58 gboolean g_hash_table_steal_extended(GHashTable *hash_table, gconstpointer lookup_key, gpointer *stolen_key, gpointer *stolen_value)
GLIB_AVAILABLE_IN_ALL gboolean g_hash_table_insert(GHashTable *hash_table, gpointer key, gpointer value)
GLIB_AVAILABLE_IN_ALL void g_hash_table_iter_steal(GHashTableIter *iter)
GLIB_AVAILABLE_IN_ALL gboolean g_int64_equal(gconstpointer v1, gconstpointer v2)
GLIB_AVAILABLE_IN_ALL guint g_hash_table_size(GHashTable *hash_table)
GLIB_AVAILABLE_IN_ALL gboolean g_hash_table_add(GHashTable *hash_table, gpointer key)
GLIB_AVAILABLE_IN_ALL guint g_direct_hash(gconstpointer v) G_GNUC_CONST
GLIB_AVAILABLE_IN_ALL guint g_double_hash(gconstpointer v)
GLIB_AVAILABLE_IN_ALL gboolean g_hash_table_replace(GHashTable *hash_table, gpointer key, gpointer value)
GLIB_AVAILABLE_IN_ALL gboolean g_hash_table_remove(GHashTable *hash_table, gconstpointer key)
GLIB_AVAILABLE_IN_ALL gboolean g_double_equal(gconstpointer v1, gconstpointer v2)
GLIB_AVAILABLE_IN_ALL GList * g_hash_table_get_values(GHashTable *hash_table)
#define g_str_equal(v1, v2)
Definition ghash.h:175
GLIB_AVAILABLE_IN_ALL GHashTable * g_hash_table_new_full(GHashFunc hash_func, GEqualFunc key_equal_func, GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func)
GLIB_AVAILABLE_IN_ALL void g_hash_table_iter_remove(GHashTableIter *iter)
gboolean(* GHRFunc)(gpointer key, gpointer value, gpointer user_data)
Definition ghash.h:42
GLIB_AVAILABLE_IN_ALL void g_hash_table_iter_init(GHashTableIter *iter, GHashTable *hash_table)
GLIB_AVAILABLE_IN_ALL guint g_hash_table_foreach_steal(GHashTable *hash_table, GHRFunc func, gpointer user_data)
#define GLIB_AVAILABLE_IN_2_76
#define GLIB_AVAILABLE_IN_2_72
#define GLIB_AVAILABLE_IN_2_40
#define GLIB_AVAILABLE_IN_2_30
#define GLIB_AVAILABLE_IN_ALL
#define GLIB_AVAILABLE_IN_2_58
typedefG_BEGIN_DECLS struct _GList GList
Definition glist.h:39
#define G_END_DECLS
Definition gmacros.h:910
#define G_BEGIN_DECLS
Definition gmacros.h:909
#define G_GNUC_CONST
Definition gmacros.h:637
gint gboolean
Definition gtypes.h:56
guint(* GHashFunc)(gconstpointer key)
Definition gtypes.h:143
void * gpointer
Definition gtypes.h:109
gboolean(* GEqualFunc)(gconstpointer a, gconstpointer b)
Definition gtypes.h:117
void(* GHFunc)(gpointer key, gpointer value, gpointer user_data)
Definition gtypes.h:144
const void * gconstpointer
Definition gtypes.h:110
void(* GDestroyNotify)(gpointer data)
Definition gtypes.h:140
unsigned int guint
Definition gtypes.h:61
int value
Definition lsqlite3.c:2155
gpointer dummy6
Definition ghash.h:56
gpointer dummy1
Definition ghash.h:51
gpointer dummy3
Definition ghash.h:53
gboolean dummy5
Definition ghash.h:55
gpointer dummy2
Definition ghash.h:52