isl_stream: keep track of textual representation of tokens for better error reporting
[isl.git] / isl_name.h
blob3db7683c33bf4b710e6f97a31a4f48d387ff1153
1 /*
2 * Copyright 2008-2009 Katholieke Universiteit Leuven
4 * Use of this software is governed by the GNU LGPLv2.1 license
6 * Written by Sven Verdoolaege, K.U.Leuven, Departement
7 * Computerwetenschappen, Celestijnenlaan 200A, B-3001 Leuven, Belgium
8 */
10 #ifndef ISL_NAME_H
11 #define ISL_NAME_H
13 #include <isl/ctx.h>
15 #if defined(__cplusplus)
16 extern "C" {
17 #endif
19 struct isl_name {
20 int ref;
22 const char *name;
23 uint32_t hash;
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);
32 #if defined(__cplusplus)
34 #endif
36 #endif