|
Boost : |
From: Larry Evans (cppljevans_at_[hidden])
Date: 2005-06-06 08:57:37
On 06/03/2005 02:47 PM, David Abrahams wrote:
> Neal Becker <ndbecker2_at_[hidden]> writes:
>>David Abrahams wrote:
[snip]
>>>B. What about the undefined behavior that results when you stride off
>>> the end of a container?
>>
>>Is there any reasonable way to detect this? If it is feasible without
>>significantly increasing cost, I'll add it - but offhand I don't know that
>>it is generally feasible.
>
> If it's random access you can store a base iterator and an index.
^^^^^
Would "offset" be a better word? An index, i, to me, implies
something satisfying:
0 <= i < shape[axis]
where axis satisfies:
0 <= axis < rank
where rank is the number of dimensions in the array and shape[axis] is
the length of the axis-th dimension.
With this defintion, I understand what you mean, i.e. instead of
the stride iterator incrementing the pointer, it would just store
the beginning of the object:
X* px0;
and increment the offset. Then dereferencing would simply:
return *(px0+offset);
Is that you're meaning?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk