Differences From Artifact [bf200eb01f]:
- File
src/OFArray_subarray.m
— part of check-in
[9e0ca2f627]
at
2011-09-11 12:15:55
on branch trunk
— Add OFArray_subarray and OFArray_adjacenSubarray.
These will prevent a copy of an immutable array when using
-[objectsInRange:]. (user: js, size: 2220) [annotate] [blame] [check-ins using]
To Artifact [77e6be7acc]:
- File src/OFArray_subarray.m — part of check-in [86a2329f2b] at 2011-09-11 14:04:56 on branch trunk — Fix -[OFArray_subarray indexOfObject:]. (user: js, size: 2348) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
75 76 77 78 79 80 81 | return [array getObjects: buffer inRange: range_]; } - (size_t)indexOfObject: (id)object { | | > > > > > | | | > > > > > | | | 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | return [array getObjects: buffer inRange: range_]; } - (size_t)indexOfObject: (id)object { size_t index = [array indexOfObject: object]; if (index < range.start) return OF_INVALID_INDEX; index -= range.start; if (index >= range.length) return OF_INVALID_INDEX; return index; } - (size_t)indexOfObjectIdenticalTo: (id)object { size_t index = [array indexOfObjectIdenticalTo: object]; if (index < range.start) return OF_INVALID_INDEX; index -= range.start; if (index >= range.length) return OF_INVALID_INDEX; return index; } - (OFArray*)objectsInRange: (of_range_t)range_ { if (range_.start + range_.length > range.length) |
︙ | ︙ |