On 5 April 2018 at 17:45, Nevin Liber
On Thu, Apr 5, 2018 at 11:25 AM, Daniel James via Boost-users
wrote: On 5 April 2018 at 16:11, Thorsten Ottosen via Boost-users
wrote: It's the fact that one of the merged changes was to inherit privately from the clone_allocator which in turn forbids the use of final classes as clone_allocator types.
Oh, that's something I haven't thought about. There are quite a few places in boost where inheritance from generic types is used, presumably they've all got the same problem. I'm not sure if there's a good way to handle this.
Can't you just wrap it and derive from the wrapper?
For instance, I have a wrapper (which is a little overkill for this) at ebo_wrapper.h. My version uses the traits in std, but Boost.TypeTraits has equivalents.
boost::is_final doesn't work everywhere, and std::is_final is C++14, so I don't think we've got wide enough support. (resent as accidentally sent off list) This pull request will help: https://github.com/boostorg/type_traits/pull/60 But still won't have full support.