On 11/08/2016 08:38, Murray Cumming wrote:
Can't they stick with older versions of BGL? People didn't seem to need the fixes in the recent releases for the last couple of years, because develop didn't get merged to master - they were effectively using an old version with not much more than a version number change. They would only be forced to use a newer BGL because of the bundling of BGL with other Boost libraries that they might want to upgrade.
But this is a general Boost issue, I guess, and I don't know of any guidelines. I think Boost has to drop support for older compilers at some point so the Boost code can move forward with clean code. I've found that things like variadic templates and decltype(auto) can massively simplify generic code.
Perhaps not a guideline, but in the past several libraries that have wanted to go C++11/14-only have done so by retaining the existing library as C++03+ and creating a new library (eg. bgl2) that is C++11/14-only. This also provides a good opportunity for making other breaking changes to the API to remove legacy things or to take advantage of more modern coding styles -- although on the other hand there's also a certain benefit to allow user applications to simply change the include path and namespace and have their existing code Just Workâ˘. FWIW, to me it still seems like C++14 support is sketchy and can't be assumed. C++11 is reasonably commonplace but there are still some applications that can't use it for whatever reason.