Commits

Pieter du Preez authored c4ce0b2c2fb
Added Get and Set operations with custom Converter definitions. The GetCell, SetCell, GetColumn and SetColumn now take an optional (last) parameter, specifying what Converter it should use. This is a very handy way to override the default Converter, per cell or column. One could now convert non-homogeneous data inside a csv. All interfaces, excluding the Document constructor, under certain conditions, are backwards compatible, requiring almost no changes to existing code. The use of typeid(), for routing the conversions in the Converter class, was removed and re-implemented, using template specialization. Full examples of usage can be found in examples/ex008.cpp and the test program, test063. Removal of ConverterParams and its integration with Converter: The fundamental problem with ConverterParams was that it only catered for fixed and floating point type values. There was a default for each of these. This was replaced with a single default value inside Converter. This change broke a part of the Document interface. The Document constructor now takes a bool, instead of a ConverterParams type. It is no longer possible to define default integer and floating point values for a Document. However, a Converter with a supplied default value can now be used to achieve this in a much more flexible way, ie. per cell of per column. This incompatibility should be a non-issue, as the use-cases are probably limited. However, fixing existing code is trivial. See the changes made to test048, as an example. Also added an AUTHORS file, on request of @d99kris and added formatting changes from running uncrustify on all the relevant source files that were changed in this PR.