Boost logo

Boost :

From: JOAQUIN LOPEZ MU?Z (joaquin_at_[hidden])
Date: 2004-07-26 15:37:22


Tests at RudbekAssociates for multi_index in VC 8.0 show
this recurrent error:

error C2888: 'void boost::multi_index::safe_mode::detach_equivalent_iterators(Iterator &)' : symbol cannot be defined within namespace 'detail'

The code causing the problem has the following form:

***********BEGIN CODE***********
namespace boost{
namespace multi_index{
namespace safe_mode{

template<typename Iterator>
inline void detach_equivalent_iterators(Iterator& it)
{
  ...
}

}// namespace boost::multi_index::safe_mode

namespace detail{

class safe_iterator_base
{
...

template<typename Iterator> friend
  void safe_mode::detach_equivalent_iterators(Iterator&);
};

} // namespace boost::multi_index::detail
} // namespace boost::multi_index
} // namespace boost
***********END CODE***********

which AFACIS seems to indicate that VC 8.0 does *not*
support member template friends (VC 7.1 didn't support
them either) and thus BOOST_NO_MEMBER_TEMPLATE_FRIENDS
should be defined for it (it isn't).

I've searched through the VC 2005 beta docs and,
allegedly, member template friends are supported, so this
particular problem could be a bug rather than complete
lack of support for this feature. Maybe someone with
local access to VC 8.0 can test the above code and
see what happens (I currently don't have the time
and resources to try myself.)

Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk