MRW C++ Library
Featureful C++ Library containing a lot of needful things. Everything, I often need, but is missing in C++ standard libraries and other common 3rd party libraries, such as log4cxx, cppunit and boost.
I have paid attention to define simple and a nice to use interfaces. The library makes use of object orientation, operator overload and templates, where it makes sense. The library passes several module tests before each delivery. It is therefore stable and tested.
Note: All links below require the generated Doxygen documentation.
This library contains modules for the following purposes:
Collect and Format a Stack Trace:
Having a stack trace is extremely useful, if you have unexpected or uncaught exceptions
- Exceptions with Stack Trace
- Automated Unexpected and Terminate Handler
C++ Evaluation of Command Line Arguments:
A fully object oriented replacement for optarg
Classes for Automated Resource Handling:
Automatically free resources from C libraries, such as open, malloc, etc.
Configuration File Handler:
Read and write UNIX / Windows like configuration files
Execute UNIX Commands:
Write to stdin and read from stdout, stderr of the sub process
File and System Utilities:
C++ wrapper around C library file and directory access (incomplete)
C++ wrapper around C library regular expressions
Split a string into tokens and iterate through them
Function Trace (using log4cxx):
Automatic Function Trace: Add function trace with no code change!
A C++ wrapper around libltdl, Libtool Dynamic Loading library
- Shift values into containers
- Read Line that reads a full line
- String ext ensions:
Add integers to strings, shift into strings
- Useful Functions:
Minumum, maximum of any kind of values
In the Web
- Official project page
- Full Doxygen library documentation
- Official repositories
- Download and installation instructions
The library is generic UNIX, but most features also work on Windows using MinGW. It is sporadically tested on Windows. Stack trace works on Linux only, it could theoretically work on Sun Solaris too (and it used to work there in the 90ies), but this is now untested. Stack trace without symbol resolution, just getting the raw addresses, only depends on GNU gcc and should work on all platforms. Feedback is welcome!
Missing a Feature, Found a Bug
You are missing a feature, or an implementation is too incomplete for the purpose you need it? Or you even found a bug? Just register and open an issue on the project management page.