C++ Binding: changes for version 1.3a
4th November 2002
The following changes were made between versions
1.0g
and
1.3a
of the ZOOM C++ binding:
- Added #include <stddef.h> for the definition of
size_t.
- Added destructor declaration to connection class.
- Removed the errcode(), errmsg() and
addinfo() methods from the connection and
resultSet classes, since exceptions should be used in
these enlightened days.
- Renamed the record::recordSyntax enumeration to
record::syntax, and added an UNKNOWN
element.
- Removed virtual from all the record class's
methods, including its destructor, since we no longer expect
to derive record subclasses representing records expressed in
specific record-syntaxes.
- Removed the nfields() and field() methods
from the record class - see
section 3.5.4 of
version 1.3 of the Abstract API.
- Renamed the error class to exception, and its
subclasses likewise. This brings the C++ binding's type names
in line with the terminology used in the Abstract API.
- Added some substance to the exception base class: it
can now be created (with an error-code specified), and the
error-code may be both fetched and rendered as a
human-readable string. This is necessary so that it's
possible to meaningfully catch(exception& e)
- Added the missing char *errmsg() method to the
systemException and bib1Exception classes.
- Added a new exception subclass,
queryException, for reporting malformed query strings,
etc.
Apart from those arising from amendments to the Abstract API, most
of these changes arise from the new implementation of the ZOOM C++
binding as a part of Index Data's recently released
YAZ++ toolkit.
The large version-number jump from the previous version of the C++
binding (1.0g) to this one (1.3a) does not reflect large changes in
the binding itself, but the fact that the new version is based on
v1.3 of the Abstract API, while 1.0g was based on AAPI version 1.0.