Dave Gomboc wrote: > > > Ah, that's the reason. But given my recent discomfort about > > unmaintainable code, look at it again: > > > > # if BOOST_WORKAROUND(__HP_aCC, <= 33900) > > template<bool cond, typename T> struct enable_if; > > # else > > template<bool, typename T> struct enable_if; > > # endif > > > > Does this really makes sense? Shouldn't we just keep one version with > > names for template parameters? AFAICS this should work for all compilers > > and it could be a general boost coding guideline to always provide names > > for template parameters. Comments? > > Nah, the vendors will never fix problems that we hide. In some regular > code I might just switch it, but since some vendors _are_ using Boost to > test their compiler conformance, we should leave the HP workaround in (and > use the same or a new workaround for VisualAge also). That way, when they > compile with BOOST_NO_CONFIG they will see the problem.
It's a reasonable approach. Another one might be a macro called BOOST_UNUSED_TEMPLATE_PARAMETER which will be used like BOOST_STATIC_CONSTANT and resolves to nothing for conforming compilers and leaves a dummy name in for broken compilers. Usage: template< BOOST_UNUSED_TEMPLATE_PARAMETER( bool, cond ), BOOST_UNUSED_TEMPLATE_PARAMETER( typename, T ) > struct enable_if; Note that I do not prefer this style, I just want to mention another option. I think it's still better than #ifdef's but I won't bother too much if there is one coding guideline which could solve all issues. Boost is already too complicated to add political/educational stuff for compiler vendors instead of adding just the technically needed stuff for compilers. <irony> We could continue by adding BOOST_FOR to replace all for-loops in case a compiler has broken scope for declared variables. For conforming compilers: #define BOOST_FOR for and for broken compilers: #define BOOST_FOR if(false);else for there are so many ways to obfuscate the code... hehe... </irony> Regards, Daniel -- Daniel Frey aixigo AG - financial training, research and technology Schloß-Rahe-Straße 15, 52072 Aachen, Germany fon: +49 (0)241 936737-42, fax: +49 (0)241 936737-99 eMail: [EMAIL PROTECTED], web: http://www.aixigo.de _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost