Re: Additions to Glib's GPtrArray API
- From: Charles Kerr <charles kerr nssl noaa gov>
- To: Owen Taylor <otaylor redhat com>
- Cc: gtk-devel-list gnome org, emonsler beamreachnetworks com
- Subject: Re: Additions to Glib's GPtrArray API
- Date: Thu, 1 Feb 2001 09:31:05 -0600
On Thu, Feb 01, 2001 at 12:29:15AM -0500, Owen Taylor wrote:
> Eric Monsler <emonsler beamreachnetworks com> writes:
>
>> Hi,
>>
>> I was looking at the API for GPtrArray manipulation.
>>
>> For my needs, I need the equivalent of the g_list_foreach()
>> functionality, like g_ptr_array_foreach(), which would be easy enough to
>> do from userland.
>>
>> In addition, I need a function along the lines of
>>
>> gpointer g_ptr_array_until(GPtrArray *array,
>> GPointerUserFunc func,
>> gpointer user_data);
> The question that I would ask is whether using a foreach function
> here is significiantly clearer than writing:
>
> for (i = 0; i < array->len; i++)
> {
> MyThing *thing = array->pdata[i]; // or equivalently, thing = g_ptr_array_index (array, i);
>
> if (thing is the right one)
> break;
> }
>
> Or whatever. Certainly using a predicate function performs less well;
> One could say that you use a GArray / GPtrArray because it is directly
> indexable like a normal array.
Well the _until function isn't the same as the _foreach function.
I wouldn't have much need for the _until function, but it seems like
a _foreach could be generally useful for things like:
g_ptr_array_foreach (strings, (GFunc)g_free, NULL);
g_ptr_array_free (strings, TRUE);
> [ This is the problem with deciding what goes in glib - there are
> thousands and thousands of functions that make some sort of sense and
> that some people will find usefull, but if you add all of them,
> everybody will agree that the library is bloated. ]
Agreed.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]