On Saturday 02 November 2013 08:23:05 Daniel Pfeifer wrote:
How do we describe those libraries to users? Those might be the Frequently Questioned Answers:
A: It is a Boost library that you should not use. Q: If it is not useful, why does it exist?
A: It is used internally by several Boost libraries. Q: If it is so useful, why should I not use it too?
A: Because they are Boost implementation details. They are undocumented and can be changed or removed without notice and backward compatibility. That said I agree that the detail module looks awkward.
I prefer to have no such "detail" libraries at all. Everything that is useful to a broader audience should be in utility. Everything else should be an implementation detail of one library.
There are things not intended for public use and yet useful for multiple libraries. I don't think these components should be made a public part of utility, but making them a private part of it seems ok to me.