OON: Invariant software library announcement

From: Alex Solomonoff (asolomon@bbn.com)
Date: Sun Feb 22 1998 - 09:07:42 EST


Hello!
        Announcing the release of version 0.0
        (the first public release) of Invariant.

Invariant is a C++ library of classes, functions and macros for doing
automated consistancy checking and bug detection in C++ programs. It is mostly
run-time, but there is some compile-time checking also.

Note: I have tested the code, but there are probably still bugs and misfeatures.

Features include:
Assert macro with some extra bells and whistles.
Assert macro for conditions that are usually, but not always true.
Smart numbers that can only be positive, only decrease, only be nonzero, etc.
Smart(restricted) pointers that cannot be null, smart pointers that don't
        have any array access abilities.
Numbers with units, so that feet can be added to feet but not to pounds.
"Safe casting" functions that cast from one numerical type to another, while
    requiring that the source value is within the legal range of the destination type.
A function to enable or disable exceptions for illegal floating-point operations.

and much, much more!

Installation:
follows the usual sequence, i.e.,
1) tar xvzkf invariant-0.0.tgz
2) cd invariant-0.0
3) ./configure
4) make
5) make install

There is latex documentation in invariant-0.0/doc.
There are some test/example programs in invariant-0.0/test.

Availability:
The code in Invariant is copyrighted by me, Alex Solomonoff.
Invariant is free software; you can redistribute it and/or modify it under
the terms of the GNU Library General Public License, version 2, as published
by the Free Software Foundation.

A copy of the LGPL can be found in invariant-0.0/license/COPYING.LIB

Where to find it:
At http://www.world.std.com/~rjs/invariant.html,
and also at sunsite.unc.edu, currently in pub/Linux/Incoming/invariant[-0.0.tgz,.lsm],
and someday probably in /pub/Linux/devel/lang/c++/invariant[-0.0.tgz,.lsm].

share and enjoy,
Alex Solomonoff



This archive was generated by hypermail 2b29 : Wed Feb 20 2002 - 03:20:06 EST