X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fgl_oset.c;h=9e364f264515d0e5409455d57980788110556c8f;hb=671c9011cb6944a63f0d15f60252c31bf0ee8e9b;hp=bfe1c6d827d76e2794d6dbb4f1b488d37f0b6fb6;hpb=a7e6fe2b890c07cb428be7ff82d1267847a1efdf;p=gnulib.git diff --git a/lib/gl_oset.c b/lib/gl_oset.c index bfe1c6d82..9e364f264 100644 --- a/lib/gl_oset.c +++ b/lib/gl_oset.c @@ -1,11 +1,11 @@ /* Abstract ordered set data type. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006-2007 Free Software Foundation, Inc. Written by Bruno Haible , 2006. - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -13,12 +13,9 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ -#ifdef HAVE_CONFIG_H -# include -#endif +#include /* Specification. */ #include "gl_oset.h" @@ -31,9 +28,10 @@ gl_oset_t gl_oset_create_empty (gl_oset_implementation_t implementation, - gl_setelement_compar_fn compar_fn) + gl_setelement_compar_fn compar_fn, + gl_setelement_dispose_fn dispose_fn) { - return implementation->create_empty (implementation, compar_fn); + return implementation->create_empty (implementation, compar_fn, dispose_fn); } size_t @@ -48,7 +46,16 @@ gl_oset_search (gl_oset_t set, const void *elt) return ((const struct gl_oset_impl_base *) set)->vtable->search (set, elt); } -void +bool +gl_oset_search_atleast (gl_oset_t set, + gl_setelement_threshold_fn threshold_fn, + const void *threshold, const void **eltp) +{ + return ((const struct gl_oset_impl_base *) set)->vtable + ->search_atleast (set, threshold_fn, threshold, eltp); +} + +bool gl_oset_add (gl_oset_t set, const void *elt) { return ((const struct gl_oset_impl_base *) set)->vtable->add (set, elt);