1 // boost/cstdlib.hpp header ------------------------------------------------//
3 // Copyright Beman Dawes 2001.
4 // See accompanying license for terms and conditions of use.
6 // See http://www.boost.org/libs/utility/cstdlib.html for documentation.
9 // 26 Feb 01 Initial version (Beman Dawes)
11 #ifndef BOOST_CSTDLIB_HPP
12 #define BOOST_CSTDLIB_HPP
18 // The intent is to propose the following for addition to namespace std
19 // in the C++ Standard Library, and to then deprecate EXIT_SUCCESS and
20 // EXIT_FAILURE. As an implementation detail, this header defines the
21 // new constants in terms of EXIT_SUCCESS and EXIT_FAILURE. In a new
22 // standard, the constants would be implementation-defined, although it
23 // might be worthwhile to "suggest" (which a standard is allowed to do)
24 // values of 0 and 1 respectively.
26 // Rationale for having multiple failure values: some environments may
27 // wish to distinguish between different classes of errors.
28 // Rationale for choice of values: programs often use values < 100 for
29 // their own error reporting. Values > 255 are sometimes reserved for
30 // system detected errors. 200/201 were suggested to minimize conflict.
32 const int exit_success = EXIT_SUCCESS; // implementation-defined value
33 const int exit_failure = EXIT_FAILURE; // implementation-defined value
34 const int exit_exception_failure = 200; // otherwise uncaught exception
35 const int exit_test_failure = 201; // report_error or
36 // report_critical_error called.