This package defines macros and interfaces for performing both compile- and run-time assertion checking and run-time exception handling.
Where exception-handing is concerned, the format of the macros are inspired by those found in Mac OS Classic and, later, Mac OS X. These, in turn, were inspired by “Living In an Exceptional World” by Sean Parent (develop, The Apple Technical Journal, Issue 11, August/September 1992). See:
for the methodology behind these error handling and assertion macros.
The interfaces in this package come in two interface modalities:
The run-time modality interfaces in this package come in three families:
There are several styles of interfaces within each family and several potential variants within each style, all of which are summarized below and are described in detail in the following sections.
The compile-time modality interfaces in this package are simpler and come in a single family with a couple of styles and variants, all intended to provide parallelism with the run-time interfaces.
There are numerous avenues for nlassert support:
nlassert follows the Semantic Versioning guidelines for release cycle transparency and to maintain backwards compatibility.
nlassert is released under the Apache License, Version 2.0 license. See the
LICENSE file for more information.