Strictly conforming compilers (EDG with --dep_name) require the make_* functions be defined before used. Report and fix from Markus Schopflin. EDG info from Boris Gubenko.

[SVN r39428]
This commit is contained in:
Beman Dawes
2007-09-20 21:04:34 +00:00
parent e4ca75e70a
commit 640383329f

View File

@@ -172,6 +172,10 @@ namespace boost
static const error_category & errno_ecat = get_posix_category();
static const error_category & native_ecat = get_system_category();
// EDG with --dep_name requires make_error_condition be defined before use
template <class T> error_condition make_error_condition(T);
// class error_condition -----------------------------------------------//
// error_conditions are portable, error_codes are system or lib specific
@@ -255,6 +259,10 @@ namespace boost
};
// EDG with --dep_name requires make_error_code be defined before use
template <class T> error_code make_error_code(T);
// class error_code ----------------------------------------------------//
// We want error_code to be a value type that can be copied without slicing
@@ -401,11 +409,11 @@ namespace boost
// make_* functions for posix::posix_errno -----------------------------//
// explicit conversion:
inline error_code make_error_code( posix::posix_errno e )
template<> inline error_code make_error_code( posix::posix_errno e )
{ return error_code( e, posix_category ); }
// implicit conversion:
inline error_condition make_error_condition( posix::posix_errno e )
template<> inline error_condition make_error_condition( posix::posix_errno e )
{ return error_condition( e, posix_category ); }
// error_category default implementation -------------------------------//