
We can (re-)consider 'boost::meta':
Doesn't look bad at all, actually.
I'm a big fan of using "meta" instead of "mpl".
FWIW, I'm not. I type it often enough to be bothered by the completely unnecessary extra character.
And I'd prefer boost::metaprogramming, but I'll settle for meta if it's the best that I can get. ;-) Human languages are full of "extra characters": why should programming languages be different in this respect? If the typing truly bothers you, try out an editor that supports word completion. fs is arguably sufficiently common, but I still prefer filesystem. Not all that long ago someone posted something here and abbreviated it as "rng", and I thought to myself that it was very odd that they'd use something that, as far as I am concerned, abbreviates "random number generator". On the flip side, perhaps if I had referred to one of these as "rng" they would be thinking the converse. Ergo, prefer filesystem: those who want it shorter probably don't want the boost:: part either, and will define fs = ::boost::filesystem once and use four characters (fs::) from there on. Besides which, "fs" is difficult for an English-as-a-second-language speaker to look up in the dictionary. I have the impression that some simply don't care about that because English is _their_ first language -- an unfortunate attitude. Last year I vistied Slovenia, and when I said "standard-eye-oh-dot-aitch" to some people, they didn't understand me, and asked what I was talking about. After some discussion back and forth, it turns out that they spell that header name out character by character: "s-t-d-i-o-pika-h". (pika = dot, and all the letters are pronounced differently too, of course.) They had no idea that "std" was being used as an abbreviation for standard in this context. "So 's-t-d' means standard?" "Yes... how do you say standard in Slovene?" "Standardija." (!) This demonstrates that even small differences for us can be huge differences for others. It turns out that the "i-o" for input/output doesn't translate well into Slovene, so those person (and all their programming friends, I'm sure) are now happily calling it "standardija-i-o-pika-h", something I'm sure most readers of this message will have taken the English equivalent of for granted since the first week they programmed in C. Had "standard" been used instead of "std", this confusion would never have arisen, but more importantly the name would have been meaningful to more people. Re: boost::algorithm::<subnamespaces>, it's easy to add using directives to bring things defined in these up to boost::algorithm. The opposite operation is not easy. If it turns out do be better to have them all together, using declarations can be added to boost itself down the road. Dave P.S. I think that the average teenager probably has a different meaning for 'std' than we do too, though I'll grant that that's less relevant. ;-)