X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fadt%2Fpset_new.h;h=fa37076928cd36647a4defb58df895e41c745521;hb=b1ac8fe5c7b3b462f66a99e6c780be9826414b7d;hp=7ff0d9399e4386d61d6f26c32bba3f24e61eaea3;hpb=974215da1a935f250766874d0f7a7ddfa34bc4ef;p=libfirm diff --git a/ir/adt/pset_new.h b/ir/adt/pset_new.h index 7ff0d9399..fa3707692 100644 --- a/ir/adt/pset_new.h +++ b/ir/adt/pset_new.h @@ -1,20 +1,6 @@ /* - * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. - * * This file is part of libFirm. - * - * This file may be distributed and/or modified under the terms of the - * GNU General Public License version 2 as published by the Free Software - * Foundation and appearing in the file LICENSE.GPL included in the - * packaging of this file. - * - * Licensees holding valid libFirm Professional Edition licenses may use - * this file in accordance with the libFirm Commercial License. - * Agreement provided with the Software. - * - * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE - * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. + * Copyright (C) 2012 University of Karlsruhe. */ /** @@ -22,7 +8,6 @@ * @date 17.03.2007 * @brief hashset containing pointers * @author Matthias Braun - * @version $Id$ * * @note This has been named pset_new_new for now until all code has been * changed to use this instead of the old deprecated pset_new functions! @@ -32,6 +17,10 @@ #ifndef FIRM_ADT_PSET_NEW_H #define FIRM_ADT_PSET_NEW_H +#include + +/** @cond PRIVATE */ + #define HashSet pset_new_t #define HashSetIterator pset_new_iterator_t #define ValueType void* @@ -42,6 +31,14 @@ #undef HashSetIterator #undef ValueType +/** @endcond */ + +/** a pointer (hash)set */ +typedef struct pset_new_t pset_new_t; +/** iterator over a pointer set. + * @see #pset_new_t */ +typedef struct pset_new_iterator_t pset_new_iterator_t; + /** * Initializes a pset_new * @@ -52,8 +49,8 @@ void pset_new_init(pset_new_t *pset_new); /** * Initializes a pset_new * - * @param pset_new Pointer to allocated space for the pset_new - * @param expected_elements Number of elements expected in the pset_new (rougly) + * @param pset_new Pointer to allocated space for the pset_new + * @param expected_elements Number of elements expected in the pset_new (roughly) */ void pset_new_init_size(pset_new_t *pset_new, size_t expected_elements); @@ -70,9 +67,9 @@ void pset_new_destroy(pset_new_t *pset_new); * * @param pset_new Pointer to the pset_new * @param ptr Pointer to insert into the pset_new - * @returns 1 if the pointer was inserted, 0 if it was already there + * @returns true if the pointer was inserted, false if it was already there */ -int pset_new_insert(pset_new_t *pset_new, void *ptr); +bool pset_new_insert(pset_new_t *pset_new, void *ptr); /** * Removes an element from a pset_new. Does nothing if the pset_new doesn't contain the @@ -88,9 +85,8 @@ void pset_new_remove(pset_new_t *pset_new, const void *ptr); * * @param pset_new Pointer to the pset_new * @param ptr The pointer to test - * @returns 1 @p pset_new contains the @p ptr, 0 otherwise */ -int pset_new_contains(const pset_new_t *pset_new, const void *ptr); +bool pset_new_contains(const pset_new_t *pset_new, const void *ptr); /** * Returns the number of pointers contained in the pset_new @@ -131,9 +127,9 @@ void pset_new_remove_iterator(pset_new_t *pset_new, const pset_new_iterator_t *i /** * Convenience macro for iterating over a pset_new. */ -#define foreach_pset_new(pset_new, ptr, iter) \ +#define foreach_pset_new(pset_new, type, ptr, iter) \ for(pset_new_iterator_init(&iter, pset_new), \ - ptr = pset_new_iterator_next(&iter); \ - ptr != NULL; ptr = pset_new_iterator_next(&iter)) + ptr = (type) pset_new_iterator_next(&iter); \ + ptr != NULL; ptr = (type) pset_new_iterator_next(&iter)) #endif