X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=ir%2Fadt%2Fcpset.h;h=0450cabcf836e09a902a583cf0d92dad1dbb5bb5;hb=2f8553d98a05815a9d24eb5746cab1e17858a2a0;hp=adfa282fbe2559cb079a69d1483d24d0824f9088;hpb=974215da1a935f250766874d0f7a7ddfa34bc4ef;p=libfirm diff --git a/ir/adt/cpset.h b/ir/adt/cpset.h index adfa282fb..0450cabcf 100644 --- a/ir/adt/cpset.h +++ b/ir/adt/cpset.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -22,11 +22,17 @@ * @date 16.03.2007 * @brief a set of pointers with a custom compare function * @author Matthias Braun - * @version $Id$ */ #ifndef FIRM_ADT_CPSET_H #define FIRM_ADT_CPSET_H +/** + * @ingroup adt + * @defgroup Pointer Set (custom Compare) + * A pointer set with user-definable compare function + * @{ + */ + /** * The type of a cpset compare function. * @@ -39,14 +45,11 @@ typedef int (*cpset_cmp_function) (const void *p1, const void *p2); /** * The type of a cpset hash function. - * - * @param p1 pointer to an element - * @param p2 pointer to another element - * - * @return 1 if the elements are identically, zero else */ typedef unsigned (*cpset_hash_function) (const void *obj); +/** @cond PRIVATE */ + #define HashSet cpset_t #define HashSetIterator cpset_iterator_t #define HashSetEntry cpset_hashset_entry_t @@ -59,11 +62,20 @@ typedef unsigned (*cpset_hash_function) (const void *obj); #undef HashSetIterator #undef HashSet +/** @endcond */ + +/** a pointer set with custom compare function */ +typedef struct cpset_t cpset_t; +/** iterator over a pointer set with custom compare function + * @see #cpset_t */ +typedef struct cpset_iterator_t cpset_iterator_t; + /** * Initializes a cpset * - * @param cpset Pointer to allocated space for the cpset - * @param cmp_function The compare function to use + * @param cpset Pointer to allocated space for the cpset + * @param hash_function The hash function to use + * @param cmp_function The compare function to use */ void cpset_init(cpset_t *cpset, cpset_hash_function hash_function, cpset_cmp_function cmp_function); @@ -71,9 +83,10 @@ void cpset_init(cpset_t *cpset, cpset_hash_function hash_function, /** * Initializes a cpset * - * @param cpset Pointer to allocated space for the cpset - * @param cmp_function The compare function to use - * @param expected_elements Number of elements expected in the cpset (rougly) + * @param cpset Pointer to allocated space for the cpset + * @param hash_function The hash function to use + * @param cmp_function The compare function to use + * @param expected_elements Number of elements expected in the cpset (roughly) */ void cpset_init_size(cpset_t *cpset, cpset_hash_function hash_function, cpset_cmp_function cmp_function, @@ -150,4 +163,6 @@ void *cpset_iterator_next(cpset_iterator_t *iterator); */ void cpset_remove_iterator(cpset_t *cpset, const cpset_iterator_t *iterator); +/** @} */ + #endif