Do not hash the memory address of an isl_name
[platform/upstream/isl.git] / isl_name.h
1 /*
2  * Copyright 2008-2009 Katholieke Universiteit Leuven
3  *
4  * Use of this software is governed by the GNU LGPLv2.1 license
5  *
6  * Written by Sven Verdoolaege, K.U.Leuven, Departement
7  * Computerwetenschappen, Celestijnenlaan 200A, B-3001 Leuven, Belgium
8  */
9
10 #ifndef ISL_NAME_H
11 #define ISL_NAME_H
12
13 #include <isl/ctx.h>
14
15 #if defined(__cplusplus)
16 extern "C" {
17 #endif
18
19 struct isl_name {
20         int ref;
21
22         const char *name;
23         uint32_t hash;
24 };
25
26 struct isl_name *isl_name_alloc(struct isl_ctx *ctx, const char *name);
27 struct isl_name *isl_name_get(struct isl_ctx *ctx, const char *name);
28 struct isl_name *isl_name_copy(struct isl_ctx *ctx, struct isl_name *name);
29 uint32_t isl_hash_name(uint32_t hash, struct isl_name *name);
30 void isl_name_free(struct isl_ctx *ctx, struct isl_name *name);
31
32 #if defined(__cplusplus)
33 }
34 #endif
35
36 #endif