Le 22/01/15 16:37, Ben Pope a écrit :
On Thursday, January 22, 2015 10:20 PM, Oliver Kowalke wrote:
Hello, is it permitted to transform an existing boost library into a C++11-only library? best, Oliver
There has been some discussion on a C++11-only Boost, and Niall has BindLib-soon-to-be-called-something-else-lib, which may reify some of the specifics surrounding that.
In my personal opinion, I would say go for it (I've upgraded to C++14 on multiple compilers and platforms); anybody that cannot upgrade to a C++11 compiler should either fight harder, do it anyway and then ask for forgiveness, or change jobs (in that order).
However, some authors/maintainers of various libraries are stuck with older compilers for their customers and there's pretty much no way you can convince them to help in a C++11-only effort, or to help maintain a C++11-only branch. Also, if it ain't broke, don't fix it.
Ultimately, if it's your library and you feel it impractical to support pre C++11 in your library, that's your choice, but you risk upsetting customers if you break existing code.
So... onto the discussions of inline namespaces, suitable notice and backporting bugfixes.
To pick a specific example (and not to pick on anybody or any library in particular, but just because it's in my mind), I would say it's easier and more convenient to move to say, Thread/v4 than it is to consistently supply myriad defines across multiple build systems. Completely agreed. I plan to create an independent version Boost.Thread V5 that supports only C++11 compilers. This version will live in a separated directory and namespace of course. This should be ready for C++Now 2014.
I would say go for a V(x+1) library and enjoy your coding life. Be responsible where bugfixes are appropriate, but don't let it prevent you from making progress*.
*Really; please don't let it prevent you from making progress.
Agreed again. Best, Vicente