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