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