$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Beman Dawes (bdawes_at_[hidden])
Date: 2002-12-12 16:12:21
At 02:14 PM 12/12/2002, Peter Dimov wrote:
 >From: "Beman Dawes" <bdawes_at_[hidden]>
 >> The exception class has been given additional functionality to provide 
a
 >> portable error code. Etc, etc.
 >
 >Q: have you considered using standard errno codes as the portable error
 >code?
If I understand your question, this is now being done.
The filesystem_error class now has two member functions returning error 
codes:
    int native_error() const; // returns system specific code
                              // such as a POSIX or Windows error code
    error_code error() const; // same on all systems; see below
     enum error_code
     {
       no_error = 0,
       system_error,     // system generated error;
                         // if possible, is translated
                         // to one of the more specific errors below.
       other_error,      // library generated error
       security_error,   // includes access rights, permissions failures
       read_only_error,
       io_error,
       path_error,       // path format or a name in the path is invalid
       not_found_error,
       not_directory_error,
       busy_error,       // implies trying again might succeed
       already_exists_error,
       not_empty_error,
       is_directory_error,
       out_of_space_error,
       out_of_memory_error,
       out_of_resource_error
     };
Is that what you meant by "standard errno code"?
The alternative I considered was to try to map the system specific code 
into a POSIX errno code. However, the macros seemed messy for C++.
--Beman