A C++ library with 80 assertion macros
It is really an advanced portable C collection with 80 variations from the ASSERT macro, to include expressions, levels and optionally available actions. 48 are do it yourself simply because they can also make use of Rich Boolies, allowing very much more combinations than non-modular ASSERT macros. It is extremely versatile because it allows a person to create custom loggers and assertion displayers, yet you can also make use of the provided ones for Home windows, wxWidgets or console programs. The loggers and displayers show extra information, such as the date and time, the particular thread id, the present working directory, etc. plus you can add infoprovider objects to This program , in order to provide similar custom info.
It has eight fundamental assertions, that each possess 16 variations, by including four suffixes that include functionality.
It is really reliable and portable, because it continues to be tested along with five different compilers (VC 6. 0,. NET the year 2003,. NET 2005, gcc upon Windows and Linux), along with nearly all warnings allowed.
The Rich Boolies may do all kinds associated with checks and generate sophisticated information:
* Relations among two objects: rbEQUAL, rbLESS,...
* Bitwise comparisons: rbEQUAL_BITWISE, rbBITS_ON, rbBITS_OFF,...
* Kind checking (with RTTI): rbEQUAL_TYPES, rbHAS_TYPE,...
* Working upon ranges and containers: rbIN_RANGE, rbIN_RANGES, rbIN_CONTAINER, rbIN_CONTAINERS,... These types of have an extra discussion that tells what type of check to perform, e. g. Sorted, Review, Has, Unique,...
* Chain comparisons: rbSTRING, rbSTRING_BEGINS_WITH, rbSTRING_ENDS_WITH, rbSTRING_CONTAINS. These come with an extra argument that tells exactly what kind of check in order to do, e. g. situation sensitive delete word.
* Reasonable expressions: rbAND, rbOR, rbXOR. These can have Wealthy Boolies or plain boolean expressions as their quarrels.
* Exceptions: rbEXCEPTION requires an exception as the argument, and uses the particular information in it.
|