The following changes were made between versions 1.0f and 1.0g of the ZOOM C++ binding:
The data class has been removed completely - and, by implication, so have all its subclasses. We felt that the complexity of having a data subclass hierarchy parallel to the record subclass hierarchy was too much, given that the sole purpose of data objects was to have something on which to invoke record syntax-specific data-related methods which can in fact be defined on the record syntax-specific record subclasses instead.
The rawdata() method now really does return the raw data of the record where that's available. For some record syntaxes - SUTRS, XML, the various MARC formats - this is very useful. For others, notably GRS-1, it's not very useful, and implementations should feel free just to return a null pointer from GRS1Record::rawdata().
The search() method has been removed from the connection class, and replaced by an explicit public constructor for resultSets. This constructor should be understood as standing in for the search() method: it is the way of doing searches.
However, in C++ it turns out that it's more convenient for searching to be done by a constructor for several reasons:
resultSet *rs = new resultSet(query);or an object that will be automatically destructed when it goes out of scope
resultSet rs(query);The flexibility allows various programming styles to be used, crucially making it much easier to integrate resultSets into programs which use the STL.