On 08/28/18 14:37, Mike Dev via Boost wrote:
- Which library/ies are you maintaining? (I assume this isn't some sort of private information - otherwise ignore the question)
I maintain Boost.Log, Boost.Atomic and Boost.WinAPI. I also participate in Boost.Core, Boost.Iterator maintenance for some components.
- Would you like to unconditionally use c++11 features if you would not have to worry about this breaking boost internal users?
- Would you like to unconditionally use c++11 features if you would not have to worry about this breaking any users?
Yes and no to both points. Yes because it would obviously make my code simpler and cleaner. No because I don't think it is as simple as that. For example, if I'm currently using Boost.Move or boost::shared_ptr, does this mean I have to port my code to native rvalue references and std::shared_ptr? If no, should I require future contributions to still rely on these components? If the answer to the latter question is no then this makes a mess of the library code and I wouldn't want that. If the answer is yes to the former question then this is quite a lot of work (e.g. in case of Boost.Log) and may even need redesigning some parts of the library.
- Would you deprecate your library completely if there were no boost-internal users and your current dependencies required c++11 (e.g. because your library has been merged into the c++11 standard library anyway)
This mostly relates to Boost.Atomic and the answer is absolutely not. Boost.Atomic offers extended functionality compared to std::atomic, it is a potential playground for future extensions that may end up in the standard library. As I understand, the same is true wrt. other Boost libraries that were adopted by the standard.
- Are you yourself using any boost library (in an up-to-date version) in a c++03, non-boost project?
Not me myself, but I'm aware of such projects. I have a reverse case, where I'm using Boost.Atomic in a C++17 project and not planning to switch to std::atomic.
- Do you have any Idea if the latest versions of your library is used by any important/significant number of c++02 projects? [It is only important if *you* consider those projects important and or the number significant]
I don't know what projects those are, but I receive support requests about Boost.Log regularly. Those requests often mention C++11+ constructs. Boost.Atomic - not so much, but it is also a much lesser and more specialized library with a counterpart in the standard library.