
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