c++.announce - Open-RJ 1.3.3 released
- Matthew (111/111) Jun 27 2005 https://sourceforge.net/project/showfiles.php?group_id=111776&package_id...
https://sourceforge.net/project/showfiles.php?group_id=111776&package_id=120903 ================================================================================ 28th June 2005 : Open-RJ 1.3.2 => 1.3.3 -------------------------------------------------------------------------------- There are six changes: - fixed an assert in orjapi.c, which erroneously fired when a record marker had trailing whitespace. - Compatible with Mac OS-X - added c_str_ptr_null and c_str_data string access shims, for ::openrj, ::openrj::cpp and ::openrj::stl constructs. - openrj::cpp::record now uses Static Covariance (aka Argument-dependent Covariance) for subscript operator. This means that if it's an integer then a Field is returned, and if it's a string then the value (as a string) is returned. - added reverse iterator support in the record and database classes of the STL mapping. - general tidying of sample programs Note: This release depends on STLSoft 1.8.4 beta 1, or later. ================================================================================ 26th May 2005 : Open-RJ 1.3.1 => 1.3.2 -------------------------------------------------------------------------------- There are four changes. The first two are aimed at helping users get to grips with the library, as follows: - the first change is the addition of three more test programs - C_minimal, Cpp_minimal and STL_minimal - that demonstrate minimal and easy use of the C++ and STL mappings. - the second change is a "Getting Started" page within the documentation. (Thanks to Rajiv Bhagwat for showing where things were not as easy as they should have been.), The other two changes are code changes in the C++ and STL mappings: - The Record/record classes, in the Open-RJ/C++ and Open-RJ/STL mappings respectively, now return const Field/field instances, to prevent misuse in the following form: record[0] = record[1]; // Will now not compiler - The Open-RJ/C++ Record class has enhanced subscript operators to prevent ambiguous resolution when used with literal integers. ================================================================================ 23rd May 2005 : Open-RJ 1.2.1 => 1.3.1 -------------------------------------------------------------------------------- The main change is that record comments are now made available in the API, in the form of the 'comment' member of the ORJRecordA structure, and the ORJ_Record_GetCommentA() function. There is also a new auto-link header, which causes compilers that support such behaviour to insert comment records that direct their linker to link to the appropriate Open-RJ library, e.g. openrj.vc71.mt.debug.lib, without requiring explicit specification in the linker command. Some developers prefer this kind of automatic behaviour, and now have this facility if they so wish just by including openrj_implicit_link.h Other changes are as follows: - c_str_ptr() shims are added for ORJStringA. (See chapter 19 of Imperfect C++ (http://imperfectcplusplus.com/) for an explanation of the Shims concept) - c_str_data() and c_str_len() shims are provided in addition to c_str_ptr(). These are of general use, but are particularly useful with STLSoft's basic_string_view template Changes to the mappings are as follows: C++ mapping: - the headers are separated out, one per class. They are all fully configured, i.e. including openrj/cpp/filedatabase.hpp includes openrj/cpp/record.hpp and openrj/cpp/field.hpp - addition of (in-)equality operators (operator == and operator !=) for Field class - addition of String typedef within openrj::cpp namespace, which is actually a typedef for stlsoft::basic_string_view<char> (for providing views onto the string information within database fields). - addition of Record::GetComment(), Record::HasField(char const *name), Record::HasField(char const *name, char const *value), Record::HasFieldWithValue(char const *value) methods - Record::operator []() overloads taking string objects now return String rather than ORJString STL mapping: - addition of record::comment() method Python mapping: - addition of comment property to record type Ruby mapping: - addition of comment property to record type ================================================================================ Diffs for previous releases not available at this time. ================================================================================
Jun 27 2005