On Sunday 01 June 2014 18:34:01 Peter Dimov wrote:
Andrey Semashev wrote:
How about moving: - utility/empty_deleter.hpp - utility/explicit_operator_bool.hpp - utility/swap.hpp
I was going where dependencies took me, and didn't stumble upon these three. Of them, explicit_operator_bool is a no-brainer for inclusion per all criteria. The other two are more in the gray. empty_deleter is only used by log; swap is more widely used, but avoiding it as a dependency is trivial, one just writes using std::swap; std::swap( x, y ) instead of boost::swap( x, y ).
That actually exposes ADL bugs in some compilers (MSVC, if I'm not mistaken). So there still may be a reason to use boost::swap.
Still, they all probably do belong in Core. I'd be much happier if empty_deleter is called null_deleter though. empty_deleter always makes me think of empty deleter optimizations, and null_deleter, while not necessarily a better name, does have an established meaning.
Do you think we should rename it even though it is already released/documented?
(Also, op() needs to be templated on T*, because it doesn't support shared_ptr
now.)
Hmm, I was trying to avoid a template instantiation. Probably not worth it, can be changed no problem.
cstdint.hpp, I think, should go into Boost.Config.
Either way is fine with me. I would personally have put it into Core because I think that there's been much pressure recently to fit all kinds of things into Config just because it was the only core library until now. But cstdint.hpp _is_ a workaround header. So... whichever. Let's just decide quickly and move it somewhere. :-)
I think it's decided already - John agreed and noone objected.