2018-11-21 Upgraded to support C++17, mainly all throw declarations have been replaced by noexcept. Now minimum requirement is C++11. The library should be reviewed with regard to latest C++ standards. Probably some features can be removed, especially regular expressions are now part of the standard. 2006-02-04 New RPM mrw-c++-minimal with minimal dependencies on other libraries (boost, ltdl, log4cxx), but without debugging support, means not stack trace, no logging. 2005-04-18 New feature: Execution of commands is can now be done "in the background", without the need of threads (similar to the use of select, or non-blocking pipes, actually it is achieved through non blocking pipes). See class PartialExec for details. 2005-04-06 New feature: Automatic initialisation of log4cxx, just link to libmrwlog4cxxconfiguration. 2005-03-05 Really cool new feature: Automagic function trace: Don't change a single line in your code (if log4cxx is already configured), just use GNU gcc with option -finstrument functions, and link to libmrwfunctiontracelog4cxx! 2005-02-23 New feature: A Function Tracer. Add the METHOD macro as first line in all your methods and the FUNCTION macro in your functions, then you'll get a nice log4cxx based entry and exit tracing. New: mrw::ifelse, acts as A ? A : B but with only one access to A Repaired and tested: mrw::Dir (on my system, type is always UNKOWN) DELETED: - mrw::min and mrw::max - SimpleTrace (use log4cxx instead!) 2005-02-18 Added a new class DynamicLibrary which is a wrapper around the system independent linltdl from the libtool. You can use it for loading symbols from shared libraries at runtime. Added new functions ifelse which implement (a?a:b), but without the drawback of having expression a evaluated twice. "libbfd" from the GNU binutils is now no more linked to the library, but loaded at runtime using the new DynamicLibrary class. This way, there is a dependency less in the RPMs. The dependency was bad, because the libbfd does not use the normal library versioning, so you used to have to install the exactly same version of the binutils, as the compiler of the RPMs, and this was inacceptable for me. 2005-02-03 Added facilities for handling UNIX C library calls that set variable errno in class Errno and in exeption unix_error New static methods in Args to simplify access to command line parameters. 2005-01-07 There is a new configuration file handler to read and write settings from a Unix like configuration file. 2004-12-20 Warning: Interface change! Conversion from string mrw::to<> and string operator>> throw exception in case of failure! 2004-12-17 The new implementation of Exec was not so stable, now it works perfectly. New feature: A simple string tokenizer, in the regular expressions module. 2004-12-14 Extended Exec so, that it is possible to pass stdin to the child process. 2004-12-10: Added a new library for handling regular expressions (because using boost resultet in link errors UPDATE: Found the source of boost problem: It's kdevelops fault, kdevelop disables C++ by default (-fno-exception -fno-rtti)! The regexp library still remains, but may be deleted in future, if I think that boost's is better. Customer feedback is welcome, please tell me if you need my implementation. 2004-10-13: StackTrace now can load not only the executable, but also shared libraries. On Linux, if StackTrace is initialized without parameters, then not only the executable is loaded, but all shared libraries with their offset are parsed from /proc/self/maps. - no more need for /usr/bin/ldd - new functions mrw::readline