Version 1.0.7 of Rudiments, the C++ class library for developing systems and applications, is now available.
This is mainly a bug-fix release.
The most significant new feature is migration of the templateengine class from an older project into Rudiments. Also, there are 2 new "interface" classes: input and output. The filedescriptor class now implements both. The bytebuffer class now implements output.
VS2017 is also formally supported now as well.
ChangeLog follows:
- updated threadmutex, filedescriptor, file, signalhandler, signalset, and dynamciclib destructors to be less disatsterous in the event of a double-free
- added sys::getRudimentsVersion()
- added empty-string detection to charstring::isInteger()/isNumber()
- added charstring::toFloatC()
- wrapped _access_s call with null/empty-string detection
- added
to codetree - added various replaceFirst/replaceAll methods to charstring
- fixed some subtle codetree bugs that could cause parsing of a concatenation to succeed at eof inappropriately
- updated xmldomevents to support multiple events per xmldomnode
- moved codetree nonterminal-build to codetreegrammar
- added nonterminal definition dictionary to codetree
- added templateengine from stencil
- added input/output interfaces
- made filedescriptor an input/output
- made bytebuffer an output
- configure.vbs sets versions in vdproj files now
- added config_vs2017.h and v2015 detection to configure.vbs
- added keepalive to http urls
- added # to characters that must be http-escaped
- fixed debugprint macros to only print if the file could be opened