Stephen Kelly wrote:
Peter Dimov wrote:
cast.hpp probably also needs to die, the polymorphic casts going into their own header. This will be post-release because it will break code, though.
Actually it doesn't need to be a breaking change.
You can create a new polymorphic_cast.hpp in core and #include that in cast.hpp, and move that cast.hpp (which now only contains two includes) to numeric. Then you can deprecate cast.hpp with a pragma warning and port any uses of it to include polymorphic_cast.hpp instead. Non breaking change.
Yes, you are right. Moving cast.hpp to numeric/conversion is a better way to deal with it. There'll be no need to remove the numeric/ include then, and it will truly be a non-breaking change. Re moving *_cast.hpp to Core, I actually prefer the other way, moving lexical_cast to its own module. Conversion will then drop to level 2, same as Core.