[system] LWG issue 805 name changes applied

The C++ committee's LWG issue 805 has been applied to Boost.System in trunk, using a namespace and enum as a workaround for non-availability of C++ scoped enums. This changes names: posix_errno -> errc posix_category -> generic_category get_posix_category -> get_generic_category "POSIX" -> "GENERIC" The old names are still supported as deprecated synonyms, so virtually no existing code is expected to break. The changes tested OK locally on Windows against Boost.Filesystem and Boost.ASIO. Let me know if any problems arise. Thanks, --Beman

On Jun 24, 2008, at 11:11 AM, Beman Dawes wrote:
The C++ committee's LWG issue 805 has been applied to Boost.System in trunk, using a namespace and enum as a workaround for non- availability of C++ scoped enums. This changes names:
posix_errno -> errc posix_category -> generic_category get_posix_category -> get_generic_category "POSIX" -> "GENERIC"
The old names are still supported as deprecated synonyms, so virtually no existing code is expected to break. The changes tested OK locally on Windows against Boost.Filesystem and Boost.ASIO.
Shouldn't these libraries use the new names? (I noticed that the changes in these libraries are older than the change in Boost.System, so they are still using the old names.)
Let me know if any problems arise.
-- Daryle Walker Mac, Internet, and Video Game Junkie darylew AT hotmail DOT com

Daryle Walker wrote:
On Jun 24, 2008, at 11:11 AM, Beman Dawes wrote:
The C++ committee's LWG issue 805 has been applied to Boost.System in trunk, using a namespace and enum as a workaround for non-availability of C++ scoped enums. This changes names:
posix_errno -> errc posix_category -> generic_category get_posix_category -> get_generic_category "POSIX" -> "GENERIC"
The old names are still supported as deprecated synonyms, so virtually no existing code is expected to break. The changes tested OK locally on Windows against Boost.Filesystem and Boost.ASIO.
Shouldn't these libraries use the new names? (I noticed that the changes in these libraries are older than the change in Boost.System, so they are still using the old names.)
They don't use the names at all, afaik. These changes should only affect user code which tests error codes against the generic error conditions. The libraries, on the other hand, generate the error codes from the operating system (i.e. from the errno or equivalent that you get from a system call) and so use the system category rather than the posix/generic category. Cheers, Chris
participants (3)
-
Beman Dawes
-
Christopher Kohlhoff
-
Daryle Walker