On 3/3/16 15:24, Daniel Frey wrote:
On 03.03.2016, at 23:33, Matt Calabrese
wrote: <snip> That is a very interesting technique, I didn’t knew about it. But if std::is_base_of is available, boost::is_base_of should surely just forward to it, so only those compilers that don’t have it (aka mostly pre-C++11 compilers) are of interest here. Maybe lifting the restriction (and using an alternative implementation) should be conditional, only to be guaranteed by boost::is_base_of when compiling with C++11 or newer?
I am really *not* a fan of this. It breaks things that shouldn't be broken by changing the implementation based on the compiler. This sometimes results in different and surprising behaviour. If I'm asking for the Boost version, I actually want the Boost version and not the compiler's std library version. michael