I knew you'll have interesting feddback.
On Wednesday, 12 June 2013 at 15:33:13 UTC, Steven Schveighoffer
wrote:
The one problem I see here is the case where you want to have
Array mutate its data.
I admit that this won't solve the issue. But I don't know if this
is an issue to be fair.
For example, let's say Array makes ptr and length private
overloads opIndex AND opIndexAssign to prevent taking the the
address of its data.
I'm not sure what is the use case. But that is clearly impossible
with the solution I proposed.
Another issue here is, what if you don't want Array to be a
template? That is, you want:
struct IntArray {
size_t length;
int *ptr;
}
How do you make this tail-const-able?
By making it a template. I'm also not sure what is the use case
here, but still this is a limitation.
It's a very good start, and very close to the solution I have.
I'm going to finish my article and post it hopefully next week.
Could you give a quick executive summary ?