Boost logo

Boost :

Subject: Re: [boost] review request: addition to type_traits library ofhas_operator_xxx
From: Edward Diener (eldiener_at_[hidden])
Date: 2010-11-18 00:52:56

On 11/17/2010 8:59 PM, Nevin Liber wrote:
> On 17 November 2010 16:23, Edward Diener<eldiener_at_[hidden]> wrote:
>> Alternatively I could even see putting all the operator traits in their own
>> namespace of 'boost::operators', dropping the 'operator_' in their name, and
>> allowing the end-user to surface them to just the 'boost' namespace via a
>> using declaration as they like. But then again, I am a very strong supporter
>> of namespaces and allowing the end-user to expose what they want from
>> namespaces via 'using'.
> The problem, of course, is when you need them in a header, where using
> declarations cannot be scoped. This makes Boost.Multi-index a bit
> unwieldly, for example.

You are right about using directives but, I believe, it would always be
possible to provide a header with using declarations for
boost::operators which, when included, could bring them directly into
the boost namespace if so desired. As a simple example:

namespace XX
void AFunction();

namespace YY
using XX::AFunction;

One can now refer to YY::AFunction() from some source code. I have
'hoisted' XX::AFunction() into another namespace so to speak.

> I really don't mind if it gets spelled with namespaces instead of
> underscores, but a using declaration is not a motivation for it.

OK. But I prefer namespaces rather than decorating names with some
common 'prefix' to show commonality. I personally believe as an end-user
that there is the tendency to pile too much directly into the boost

Boost list run by bdawes at, gregod at, cpdaniel at, john at