From: Tobias Schwinger (tschwinger_at_[hidden])
Date: 2006-05-12 18:55:41


Joel de Guzman wrote:
> Tobias Schwinger wrote:
>
>
>>1. How to set up the client namespaces most conveniently?
>>
>> Too many qualified names clutter my code.
>>
>> I actually like the scheme the library uses but I encountered following
>> portability problems on the client side:
>>

<non working namespace setup>

>
> Again, I'm not sure about the best use practice. On the client side,
> I would think that you will want to use Fusion, MPL, interspersed with
> STL. Those libraries (esecially MPL and Fusion) have lots of names
> in common. I am not sure if using directives/declarations will be
> practical at all.

You might have slightly misinterpreted my intention. I just tried to get rid of:

- qualifiaction for 'result_of' in a namespace where result computation happens
- qualification for 'fusion' in the "runtime code" namespace
- qualification for 'mpl' in the "pure metaprogramming" namespace

so we're talking about three different client namespaces -- not about stuffing
three libraries into one. I was really surprised that it's indeed hard to find a
convenient setup that works with more than one compiler...

> namespace fpl = boost::fusion; // fusion programming library. hah! :)
> namespace bfl = boost::fusion; // boost fusion library. hahah! :)
>
> Choose your pick.

   namespace f = boost::fusion; // ;P

> I kinda like the "fpl" synonym. It jives well with
> mpl and stl.

Yeah, for saying fpl::nil in the "result computation" namespace ;-).
Seriously, too much qualified names are tedious to write and even more tedious to read...

Regards,

Tobias