Provided by: nana_2.5-12_amd64 bug

NAME

       I - verify assertions in C and C++ code

SYNOPSIS

       #include <I.h>

       I(exprn)

       IG(exprn,guard)

       IH(exprn,handler)

       IP(exprn,param)

       IGH(exprn,guard,handler)

       IHP(exprn,handler,param)

       IGHP(exprn,guard,handler,param)

       ID(decln)

       IS(assignment)

       ISG(assignment,guard)

DESCRIPTION

       The  I(exprn)  checks  that  the  exprn  is  true  in  the  same way as assert(3).  If the
       expression is false an error has been detected in the code and some  error  handling  code
       will be called.

       exprn - the expression to be checked.

       guard - the expression is normally only checked if the guard is true.

       handler - a macro which generates the code that handles the error condition.

       param  -  a  parameter  which  can  be  passed  off  to  the handler. This can be used for
       identifying the assertion failure in a space-efficent manner, e.g. by copying  it  into  a
       register before aborting.

       decln - a variable declaration for use in a postcondition

       assignment  -  an  assignment  expression  setting  a variable which can then be used in a
       postcondition.

       See nana.info for details on configuring the behaviour on error detection, etc.  You  also
       need to include the nana library by using -lnana if you use the default setup.

       In addition to the I, IG, etc I.h also provides N, NG, etc which are used to check that an
       expression is never true.

SEE ALSO

       nana-clg(1), nana(1), nana(3), I(3), DI(3), L(3), DL(3), Q(3) and nana.info.

       The nana.info file is the primary documentation for this package.

AUTHOR

       Phil Maker <pjm@gnu.org>

                                                                                             I(3)