Blame isl-0.14/isl_id_private.h

Packit fb9d21
/*
Packit fb9d21
 * Copyright 2008-2009 Katholieke Universiteit Leuven
Packit fb9d21
 *
Packit fb9d21
 * Use of this software is governed by the MIT license
Packit fb9d21
 *
Packit fb9d21
 * Written by Sven Verdoolaege, K.U.Leuven, Departement
Packit fb9d21
 * Computerwetenschappen, Celestijnenlaan 200A, B-3001 Leuven, Belgium
Packit fb9d21
 */
Packit fb9d21
Packit fb9d21
#ifndef ISL_ID_PRIVATE_H
Packit fb9d21
#define ISL_ID_PRIVATE_H
Packit fb9d21
Packit fb9d21
#include <isl/id.h>
Packit fb9d21
Packit fb9d21
/* Represent a name and/or user pointer.
Packit fb9d21
 *
Packit fb9d21
 * If "free_user" is set, then it will be called on "user" when
Packit fb9d21
 * the last instance of the isl_id is freed.
Packit fb9d21
 */
Packit fb9d21
struct isl_id {
Packit fb9d21
	int ref;
Packit fb9d21
	isl_ctx *ctx;
Packit fb9d21
Packit fb9d21
	const char *name;
Packit fb9d21
	void *user;
Packit fb9d21
	uint32_t hash;
Packit fb9d21
Packit fb9d21
	__isl_give void (*free_user)(void *user);
Packit fb9d21
};
Packit fb9d21
Packit fb9d21
#undef EL
Packit fb9d21
#define EL isl_id
Packit fb9d21
Packit fb9d21
#include <isl_list_templ.h>
Packit fb9d21
Packit fb9d21
uint32_t isl_hash_id(uint32_t hash, __isl_keep isl_id *id);
Packit fb9d21
int isl_id_cmp(__isl_keep isl_id *id1, __isl_keep isl_id *id2);
Packit fb9d21
Packit fb9d21
extern isl_id isl_id_none;
Packit fb9d21
Packit fb9d21
#endif