Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2023-02-08 16:47:24


Matt Borland wrote:
> > Maybe requiring support for all the language features or the standard library
> is not strictly necessary.
>
> I would argue that it is necessary to strictly require full compliance with
> C++11. Invariably the libraries are going to have interdependencies, and strict
> compliance would give us a known lowest common denominator. Let’s say
> Boost.X uses GCC 4.8 and depends on Boost.Y which switches from
> Boost.TypeTraits to <type_traits> since it no longer has to support C++03.
> Now Boost.X either has to increase it’s minimum compiler version to GCC 5, or
> the maintainer of Boost.Y is hamstrung trying to support Boost.X.

That's not entirely true. <type_traits> is functional under GCC 4.8, it's only missing
a handful of traits (is_trivially_*) and that's not hard to work around.

https://github.com/boostorg/variant2/blob/95a8c5ffec407533893fa39900bc7799c20c755e/include/boost/variant2/variant.hpp#L510-L535

4.8 is not a C++11 compiler for other reasons though; its <regex> is completely
broken. On the other hand, I'm not sure that <regex> can ever be considered
not completely broken.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk