ENH: improvements to IOstreamOption
* Support default values for format/compress enum lookups. - Avoids situations where the preferred default format is not ASCII. For example, with dictionary input: format binar; The typing mistake would previously have caused formatEnum to default to ASCII. We can now properly control its behaviour. IOstream::formatEnum ( dict.get<word>("format"), IOstream::BINARY ); Allowing us to switch ascii/binary, using BINARY by default even in the case of spelling mistakes. The mistakes are flagged, but the return value can be non-ASCII. * The format/compression lookup behave as pass-through if the lookup string is empty. - Allows the following to work without complaint IOstream::formatEnum ( dict.getOrDefault("format", word::null), IOstream::BINARY ); - Or use constructor-like failsafe method IOstream::formatEnum("format", dict, IOstream::BINARY); - Apply th...
Showing with 381 additions and 244 deletions