reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
/*
 * Copyright 2008-2009 Katholieke Universiteit Leuven
 *
 * Use of this software is governed by the MIT license
 *
 * Written by Sven Verdoolaege, K.U.Leuven, Departement
 * Computerwetenschappen, Celestijnenlaan 200A, B-3001 Leuven, Belgium
 */

#ifndef ISL_ID_PRIVATE_H
#define ISL_ID_PRIVATE_H

#include <isl/id.h>

/* Represent a name and/or user pointer.
 *
 * If "free_user" is set, then it will be called on "user" when
 * the last instance of the isl_id is freed.
 */
struct isl_id {
	int ref;
	isl_ctx *ctx;

	const char *name;
	void *user;
	uint32_t hash;

	__isl_give void (*free_user)(void *user);
};

#undef EL
#define EL isl_id

#include <isl_list_templ.h>

uint32_t isl_hash_id(uint32_t hash, __isl_keep isl_id *id);
int isl_id_cmp(__isl_keep isl_id *id1, __isl_keep isl_id *id2);

extern isl_id isl_id_none;

#endif