[C++-sig] Some thoughts on py3k support

David Abrahams dave at boostpro.com
Wed Apr 8 17:28:45 CEST 2009

on Thu Mar 19 2009, "Niall Douglas" <s_sourceforge-AT-nedprod.com> wrote:

> On 19 Mar 2009 at 21:53, Haoyu Bai wrote:
>> I'm felling the difference between char*, unsinged char* and the
>> constant version and std::vector version of them would be a bit
>> complicated and confusing. We may document it clearly, but things are
>> still complicated. Any thoughts?
> Well, the whole concept of BPL is that it is extensible via overload 
> and partial specialisation. One might provide these as default out-of-
> the-box but any client code is more than free to add their own type 
> specialisations. 

That's not true when it comes to the converters for builtin types like
char const*.  Maybe it should be true, but it's not.

> The only actual concern is whether my proposed 
> overloads are a bit too generic and might interfere with client code, 
> but then that's why we have namespaces with Koenig lookup.
> I should add that this philosophical difference is why I am not a 
> Booster - I strongly feel that utility and power lies within flexible 
> structure rather than simple abstraction. This is why I went off and 
> wrote my own integrated metaprogramming library in TnFOX rather than 
> use Boost's - I was more than happy to sacrifice support for non-
> compliant C++ compilers in return for vastly cleaner and more 
> powerful code. That said, as we are contributing towards BPL, I will 
> be sticking my philosophical hat into a drawer for the duration :)

Interesting that you should say that.  Boost.MPL makes few or no
concessions to broken compilers in its interface design (only in the
implementation).  What is cleaner and more powerful about the TnFox
appraoch?  I can't find any details on the web.

Dave Abrahams
BoostPro Computing

More information about the Cplusplus-sig mailing list