[Robert's input didn't come through. Replying so it shows up in the thread.] On 05/20/2014 08:47 AM, Robert Ramey wrote:
On Monday, May 19, 2014 6:51:51 PM UTC-7, Michael Caisse wrote:
On 05/19/2014 06:47 PM, David Stone wrote: > As the author of bounded::integer, I do intend to submit my library to > Boost at some point, for whatever that is worth. It's just not in a state > that is ready to submit yet (but soon it will be). I suspect that, as a > C++14 library, it will have an interesting process getting in, but maybe > the next Visual Studio preview will be out by then, which looks like it > might support all the features I need. > >
We welcome C++14 libraries and I see no problem with a submission on that basis alone if it is supported by at least two compilers.
I look forward to your submission David.
There is one issue that should be addressed. The Current test matrix doesn't distinguish between C++ versions. If I make a library which requires C++11 and start testing it, it will fail on all test platforms which don't support C++11. This creates pressure to support earlier versions of C++ when we don't there to be. Currently there is no way to tag a library "test for version >= C++11 only". We need to tweak the test setup only run tests configurations which match the C++ version supported by the library.
Note that this currently cannot be done with the current test markup for a few reasons: a) it's extremely tedious b) now some compilers have switches like -std=c++11 or such so the markup can't be kept in sync with the actual version being tested.
Things that are necessary are:
a) Each library needs to be marked/tagged as to what it's minimum version is. b) Each toolset needs to communicate what version of C++ it corresponds to c) Only compatible toolsets are actually tested.
This would show all green results for libraries for which a minimal version is required - unlike that which happens now. It would also skip useless testing for unsupported configurations thereby saving time.
It would also resolve the whole question of Boost version v2. Each library can support the version of C++ without conflict. Older, core components like Config would support everything while newer more specific libraries like spirit3 would only support C++14/17 etc..