[Xcb] about api changes
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_depth_visuals (const xcb_depth_t *R);
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