range-v3
range-v3 copied to clipboard
Partial implementation of P2325
Fixes #1707.
This is a partial implementation, in that I'm removing the requirements of default construction from the concepts and removing the partially-formed default constructors that I removed in that paper. I didn't go through and properly constrain the default constructors of all the adaptors (some might be okay, others not, it's kind of annoying that T member; for non-default-constructible T does delete the default constructor, but T member = T(); does not... unless you're gcc) nor try to optimize the adaptors to use a new copyable_box instead of a semiregular_box.
This also isn't thoroughly tested, but because ref_view is no longer default constructible and lots of adaptor tests do use it, that should have exposed some issues if they existed.
and removing the partially-formed default constructors that I removed in that paper
This will break code needlessly (IMO). I would prefer that part of the change to be backed out. Apologies for the churn.
Sure, that seems reasonable.