Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for a snapshot of the develop branch, built from commit b13b1eb5d2.


This section lists all references consulted while designing and developing this library.

[Andrzej13] A. Krzemienski. Andrzej's C++ blog: Preconditions. 2013.

[Bright04] W. Bright. Contract Programming for the D Programming Language. 2004.

[Bright04b] W. Bright. Contract Programming for the Digital Mars C++ Compiler. 2004.

[C2] Aechmea. C^2 Contract Programming add-on for C++. 2005.

[Chrome] RemObjects. Chrome: Contract Programming for Object Pascal in .NET. 2002.

[Clarke06] L. A. Clarke and D. S. Rosenblum. A Historical Perspective on Runtime Assertion Checking in Software Development. Newsletter ACM SIGSOFT Software Engineering Notes, 2006.

[Cline90] M. Cline and D. Lea. The Behaviour of C++ Classes and Using Annotated C++. Proc. of the Symposium on Object Oriented Programming Emphasizing Practical Applications, Maris College, 1990.

[Ellis90] M. A. Ellis and B. Stroustrup. The Annotated C++ Reference Manual. ANSI Base Document, Addison Wesley, 1990.

[Gautron92] P. Gautron. An Assertion Mechanism Based on Exceptions. Fourth C++ Technical Conference, 1992.

[Hoare73] C. A. R. Hoare. Hints on Programming Language Design. Stanford University Artificial Intelligence memo AIM-224/STAN-CS-73-403, pages 193-216, 1973.

[CodeContracts] Microsoft Research. Code Contracts: Design-By-Contract Programming for All .NET Programming Languages. 2012.

[iContract] O. Enseling. iContract: Contract Programming for Java. 2001.

[Jcontract] Parasoft. Jcontract: Contract Programming for Java.

[Lindrud04] J. Lindrud. Design by Contract in C++. 2004.

[Maley99] D. Maley and I. Spence. Emulating Design by Contract in C++. Proceedings of TOOLS, IEEE Computer Society, 1999.

[Meyer97] B. Meyer. Object Oriented Software Construction. Prentice-Hall, 2nd edition, 1997.

[Mitchell02] R. Mitchell and J. McKim. Design by Contract, by Example. Addison-Wesley, 2002.

[N1613] T. Ottosen. Proposal to add Design by Contract to C++. The C++ Standards Committee, N1613, 2004.

[N1653] C. Nelson. Working draft changes for C99 preprocessor synchronization. C++ Standards Committee, N1653, 2004.

[N1669] T. Ottosen. Proposal to add Contract Programming to C++ (revision 1). The C++ Standards Committee, N1669, 2004.

[N1773] D. Abrahams, L. Crowl, T. Ottosen, and J. Widman. Proposal to add Contract Programming to C++ (revision 2). The C++ Standards Committee, N1773, 2005.

[N1866] L. Crowl and T. Ottosen. Proposal to add Contract Programming to C++ (revision 3). The C++ Standards Committee, N1866, 2005.

[N1895] H. Sutter and F. Glassborow. Delegating Constructors (revision 2). C++ Standards Committee, N1895, 2005.

[N1962] L. Crowl and T. Ottosen. Proposal to add Contract Programming to C++ (revision 4). The C++ Standards Committee, N1962, 2006.

[N2081] D. Gregor and B. Stroustrup. Concepts (revision 1). The C++ Standards Committee, N2081, 2006.

[N2887] G. Dos Reis, B. Stroustrup, and A. Meredith. Axioms: Semantics Aspects of C++ Concepts. The C++ Standards Committee, N2887, 2009.

[N2914] P. Becker. Working Draft, Standard for Programming Language C++. The C++ Standards Committee, N2914, 2009.

[N2906] B. Stroustrup. Simplifying the sue of concepts. The C++ Standards Committee, N2906, 2009.

[N3248] J. Lakos. noexcept Prevents Library Validation. The C++ Standards Committee, N3248, 2011.

[N4154] D. Krauss. Operator assert. The C++ Standards Committee, N4154, 2014.

[N4160] A. Krzemienski. Value constraints. The C++ Standards Committee, N4160, 2014.

[N4248] A. Meredith. Library Preconditions are a Language Feature. The C++ Standards Committee, N4248, 2014.

[N4293] J. D. Garcia. C++ language support for contract programming. The C++ Standards Committee, N4293, 2014.

[N4378] J. Lakos, N. Myers, A. Zakharov, and A. Beels. Language Support for Contract Assertions (Revision 10). The C++ Standards Committee, N4378, 2015.

[Nana] P. J. Maker. GNU Nana. 2014.

[N4378] J. Lakos and N. Myers. FAQ about Contract Assertions. The C++ Standards Committee, N4379, 2015.

[N4435] W. E. Brown. Proposing Contract Attributes. The C++ Standards Committee, N4435, 2015.

[P0147] L. Crowl. The Use and Implementation of Contracts. The C++ Standards Committee, P0147R0, 2015.

[P0166] J. D. Garcia. Three interesting questions about contracts. The C++ Standards Committee, P0166R0, 2015.

[P0246] N. Myers. Criteria for Contract Support Merged Proposal. The C++ Standards Committee, P0246R0, 2016.

[P0287] G. Dos Reis, J.D. Garcia, F. Logozzo, M. Fahndrich, S. Lahiri. Simple Contracts for C++ (R1). The C++ Standards Committee, P0287R0, 2016.

[P0380] G. Dos Reis, J.D. Garcia, J. Lakos, A. Meredith, N. Myers, and B. Stroustrup. A Contract Design. The C++ Standards Committee, P0380R1, 2016.

[P0542] G. Dos Reis, J.D. Garcia, J. Lakos, A. Meredith, N. Myers, and B. Stroustrup. Support for contract based programming in C++. The C++ Standards Committee, P0542R0, 2017.

[Rosenblum95] D. S. Rosenblum. A practical Approach to Programming With Assertions. IEEE Transactions on Software Engineering, 1995.

[SPARKAda] Praxis. SPARKAda (Ada-like Language with Contract Programming).

[SpecSharp] Microsoft. Spec# (C# Extension).

[Stroustrup94] B. Stroustrup. The Design and Evolution of C++. Addison Wesley, 1994.

[Stroustrup13] B. Stroustrup. The C++ Programming Language. Addison Wesley, 4th Edition, 2013.

[Tandin04] A. Tandin. Design by Contract macros for C++ and link to Doxygen. 2004.

[Wilson06] M. Wilson. Contract Programming 101 - The Nuclear Reactor and the Deep Space Probe. The C++ Source, 2006.