Edward Diener wrote:
That use case does not currently exist. But I am missing your point.
That was my point. The use case doesn't exist yet. You were obviously motivated by something to propose the macros, and I was wondering what that something was. Did you actually have a use case, or was that in anticipation of what the future will bring. It appears that it's the latter, in which case, I'm still interested in your anticipated future use case.
The mechanism says that if std::regex exists, use it instead of boost::regex. If std::regex does not exist use boost::regex instead. If I don't have a dependency on boost::regex and std::regex supplies all my module's needs is it not better to use std::regex, so that in a future modular Boost distribution based system I will not have to distribute boost::regex with my library ?
So your anticipated future use case is that you want to create a distribution for your library that contains Boost.Config but does not contain Boost.Regex?
There is some sort of disconnect here, because I can't make out what you are getting at.
You're putting the cart before the horse (Cartesius ante equum, as they say). The modular future hasn't arrived yet and we have no idea what it will be.
Somebody, I forget who, wrote a Boost tool for extracting a library and its dependencies into a sort of mini-distribution.
John Maddock, the tool is called bcp.