$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Peter Dimov (pdimov_at_[hidden])
Date: 2001-07-11 08:04:03
I have identified the cause of the problem with the boost::bind<R>(f, ...)
notation on MSVC.
Several boost libraries (graph, type_traits) use 'bind' as a name of a
nested class/struct; example from conversion_traits.hpp (included indirectly
from function.hpp):
struct from_not_void_conversion {
template <class From, class To>
struct bind {
static no_type _m_check(...);
static yes_type _m_check(To);
public:
void foo(); // avoid warning about all members being private
static From _m_from;
enum { exists = sizeof( _m_check(_m_from) ) == sizeof(yes_type) };
};
};
This confuses MSVC.
I suggest that the 'bind' internal classes be renamed to something less
common, like 'bind_17' (works for me) or 'inner.'
-- Peter Dimov Multi Media Ltd.