Tomas Puverle writes:
Actually, on SunCC, it doesn't -- see lines 19-24 in "boost/type_trais/detail/bool_trait_def.hpp":
Yes, I don't know how I missed that. The problem still remains the same. ;)
#if defined(__SUNPRO_CC) # define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \ typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::bool_< C > type; \ enum { value = type::value }; \ /**/ # define BOOST_TT_AUX_BOOL_C_BASE(C)
This doesn't work. BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE is not recognised in my version of boost (1.31.0).
Oh, sorry, for some reason I assumed you are using the latest CVS version.
Presumably it's something that was added later,
Yep.
but just replacing it with mpl:: resolves that problem. However, the original errors remain.
OK; thanks for trying it out.
Commenting out # define BOOST_TT_AUX_BOOL_C_BASE(C) to allow the derivation fixes the problem, though.
Hmm, interesting. Sun definitely used to have problems with inheritance here. On the second thought, I think we didn't try this particular version of it: inheriting from 'bool_' and while still explicitly defining nested '::type/::value' members. In any case, since it works for you, I'd be happy to patch this in the CVS once you provide me with __SUNPRO_CC value to check against. -- Aleksey Gurtovoy MetaCommunications Engineering