Q-Mentum - Software Products

This is an advanced ...

ModAssert

This is an advanced portable C++ library with 80 variations of the ASSERT macro, to add expressions, levels and optional actions. 48 are modular because they can also use Rich Booleans, allowing much more combinations than non-modular ASSERT macros. It is very flexible because it allows you to create custom loggers and assertion displayers, but you can also use the provided ones for Windows, wxWidgets or console applications. The loggers and displayers show extra information, like the date and time, the thread id, the current working directory, etc. and you can add infoprovider objects to ModAssert, to provide similar custom information. Its five basic assertions are: MOD_ASSERT, (removed by the preprocessor in non-debug builds), MOD_VERIFY, (evaluates its condition in non-debug builds), MOD_CHECK, that has a failure action, MOD_FAIL (equivalent to MOD_ASSERT(false)) and MOD_CHECK_FAIL (equivalent to MOD_CHECK(false)). It is very reliable and portable, as it has been tested with five different compilers (VC++ 6.0, .NET 2003, .NET 2005, gcc on Windows and Linux), with nearly all warnings enabled. The Rich Booleans can do all kinds of checks and generate elaborate information: * Relations between two objects: rbEQUAL, rbLESS, ... * Bitwise comparisons: rbEQUAL_BITWISE, rbBITS_ON, rbBITS_OFF, ... * Type checking (with RTTI): rbEQUAL_TYPES, rbHAS_TYPE, ... * Working on ranges and containers: rbIN_RANGE, rbIN_RANGES, rbIN_CONTAINER, rbIN_CONTAINERS, ... These have an extra argument that tells what kind of check to do, e.g. Sorted, Compare, Has, Unique, ... * String comparisons: rbSTRING, rbSTRING_BEGINS_WITH, rbSTRING_ENDS_WITH, rbSTRING_CONTAINS. These have an extra argument that tells what kind of check to do, e.g. case sensitive or not. * Logical expressions: rbAND, rbOR, rbXOR. These can have Rich Booleans or plain boolean expressions as their arguments. * Exceptions: rbEXCEPTION takes an exception as its argument, and uses the information in it.

Keywords: c++ assertion debugging binary code dishonest employees

  Search for:      

Copyright © 2003-2008 FilesLand.com