[Xcb] about api changes
Thomas Hunger
hto at arcor.de
Sat Jun 9 05:46:02 PDT 2007
> - For elements which occupy adjacent memory positions you have two
> functions - for example "xcb_visualtype_t *xcb_depth_visuals(...)"
> and "int xcb_depth_visuals_length(...)". To get to the next element
> you simply increment the pointer.
As you wrote the functions are:
xcb_visualtype_t *
xcb_depth_visuals (const xcb_depth_t *R);
and
xcb_visualtype_iterator_t
xcb_depth_visuals_iterator (const xcb_depth_t *R);
If I understand you correctly then you would remove the last function.
The last function is needed internally though, so it cannot be
removed but could be made private. I am not so sure anymore that this
is sensible. First, if it is documented properly that there are two
ways to access there should be no confusion.
Second, it makes the API more consistent. Every list with a type that
has an iterator can be asked for that iterator. Removing the last
function would remove that feature and the user would need to know if
the type is memory-adjacent or not.
So I believe we should keep the current API.
More information about the Xcb
mailing list