List Info

Thread: xmlHashScanner type ought to return a bool...




xmlHashScanner type ought to return a bool...
user name
2007-01-25 14:52:10
I'd like to suggest that the various xmlHashScan functions be modified so that the function pointer passed to them can return a bool indicating whether the scan should continue or not. I have a case where I have to basically reverse a hash scan - given something about the data hashed, locate a string that maps to that data. So what I might have is: struct something { int a; int b; }; and a hash mapping a bunch of strings to different instances of something. Now, I want to find a string which maps to a "something" with a .a value of 12. Now, unless I have some other entity besides the hash which lists all the possible somethings, the only way to find a "something" with .a=12 would be to create a hash scanner function that checks each item in the hash and records the first item which has .a=12 - but then I am going to iterate over the whole rest of the hash after having found my object. If the hash scanner function could return TRUE = (continue scanning) or FALSE = (stop scanning), then I could stop the search when I've found the data. _______________________________________________ xml mailing list, project page http://xmlsoft.org/ xmlgnome.org http://mail.gnome.org/mailman/listinfo/xml
Re: xmlHashScanner type ought to return a bool...
user name
2007-01-26 08:18:37
On Thu, Jan 25, 2007 at 02:52:10PM -0600, David Hagood wrote: > I'd like to suggest that the various xmlHashScan functions be modified so > that the function pointer passed to them can return a bool indicating > whether the scan should continue or not. > > I have a case where I have to basically reverse a hash scan - given > something about the data hashed, locate a string that maps to that data. > > So what I might have is: > > struct something > { > int a; > int b; > }; > > and a hash mapping a bunch of strings to different instances of something. > Now, I want to find a string which maps to a "something" with a .a value > of 12. > > Now, unless I have some other entity besides the hash which lists all the > possible somethings, the only way to find a "something" with .a=12 would > be to create a hash scanner function that checks each item in the hash and > records the first item which has .a=12 - but then I am going to iterate > over the whole rest of the hash after having found my object. > > If the hash scanner function could return TRUE = (continue scanning) or > FALSE = (stop scanning), then I could stop the search when I've found the > data. That would be a good idea, except it break both API compatibility and ABI compatibility with previous versions, so that's just impossible. And I'm not sure it's worth adding a new API at this point. Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ veillardredhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ _______________________________________________ xml mailing list, project page http://xmlsoft.org/ xmlgnome.org http://mail.gnome.org/mailman/listinfo/xml
[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )