xContract - Contract Enforcement for C and C++ STLSoft - ... Robust, Lightweight, Cross-platform, Template Software ... Synesis Software

What is xContract?

Version 0.3.3

Introduction | Languages | License | Portability and Dependencies | Authors
Installing xContract | Building xContract | Linking to xContract | Contact & Feedback
Examples | Tutorials | Users of xContract

Introduction

xContract is a contract enforcement library for C and C++, written in C. Its notable features are:

xContract is the second of a triumvirate of C/C++ software quality assurance libraries provided by Synesis Software. The first library, xTests, is an automated testing library. The third, as yet unreleased, library, xCover, is an automated code coverage library.

Languages

xContract is written in C, and presents a simple C API, that may be used from C and C++.

A future version may provide a C++ API with additional facilities

License

xContract is released under the BSD license, which basically means its free for any use, but you can't claim it's yours.

Portability and Dependencies

xContract works on with many compilers, is platform independent, and requires only one other library.

Operating Systems

xContract itself is a platform-independent library. It has been tested and used on both UNIX and Windows - in principle, it should work on any operating system for which a (reasonably modern) C/C++ compiler exists.

Compilers

xContract is written in standard C/C++, and should be compilable with any modern C/C++ compiler that provides an implementation of the C & C++ standard libraries.

xContract has been built and tested with the following compilers:

If you wish to use xContract with a compiler not listed here, you may find the STLSoft header file will issue a #error informing you that your chosen compiler is not supported. This can be overriden by defining the pre-processor symbol _STLSOFT_FORCE_ANY_COMPILER. If you do that, your compiler will be expected to be pretty standards compliant (though nothing that's particularly out-of-this-world, such as export). If you run into any issues with using xContract/STLSoft with such a compiler, we'd be happy to hear from you on the STLSoft newsgroup.

STLSoft

xContract is dependent on the STLSoft libraries, version 1.9.55, or later.

STLSoft provides the following important features:

Because STLSoft is 100% header-only, there is no need to build anything in order to use STLSoft with xContract. Simply define the STLSOFT environment variable, as described in the STLSoft distribution.

Authors

xContract is written by Matthew Wilson, author of the books Imperfect C++ and Extended STL, volume 1, and the STLSoft, Pantheios, and FastFormat libraries.

xContract Library documentation © Matthew Wilson and Synesis Software Pty Ltd, 2001-2008 SourceForge.net Logo