ObjFW  History of src/OFArray_adjacent.m of 452bdb4a5f026d53

History of file src/OFArray_adjacent.m at check-in 452bdb4a5f026d53

2019-06-17
02:33
Deleted: Remove underscores from class names check-in: [17d57e01ff] user: js, branch: trunk, size: 0
2019-03-08
00:35
Use dot syntax file: [8d3e15f3ea] check-in: [bceb7ed4c9] user: js, branch: trunk, size: 7155 [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
Update copyright file: [6816050f97] check-in: [0509d7a844] user: js, branch: trunk, size: 7175 [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
Update copyright notice file: [5a5c5c4ba4] check-in: [7e5c81e186] user: js, branch: trunk, size: 7169 [annotate] [blame] [check-ins using] [diff]
2017-11-11
23:27
Small optimization for -[isEqual:] file: [6dbe5f8af8] check-in: [526feacebc] user: js, branch: trunk, size: 7146 [annotate] [blame] [check-ins using] [diff]
2017-10-22
15:05
Make Apple GCC with -Wshadow happy file: [2b59628bd4] check-in: [a06354b42a] user: js, branch: trunk, size: 7109 [annotate] [blame] [check-ins using] [diff]
14:09
Make Apple GCC with -Wshadow happy file: [8dbc96bba7] check-in: [31c0f5b89e] user: js, branch: 0.90, size: 7025 [annotate] [blame] [check-ins using] [diff]
2017-10-17
00:33
Do not use implicit method return types

Instead, explicitly declare them, as OF_ASSUME_NONNULL_{BEGIN,END} does
not apply to implicit return types. This means that after this commit,
all init methods have a nonnull return type, as they should have. file: [c6a82f0db4] check-in: [2f4e0df8be] user: js, branch: trunk, size: 7117 [annotate] [blame] [check-ins using] [diff]

2017-07-22
20:50
Split OFDataArray into OFData and OFMutableData file: [45617fcf1b] check-in: [c8f7b90082] user: js, branch: trunk, size: 7033 [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
Small code style change

Casts are now written like types in variable declarations. file: [8a91f0e096] check-in: [4af49a13c3] user: js, branch: trunk, size: 7039 [annotate] [blame] [check-ins using] [diff]

2017-01-09
17:36
Update copyright

Forgot to add 2017, even though I already did quite some changes in
2017. file: [d6653b4737] check-in: [44f45c2e35] user: js, branch: trunk, size: 7027 [annotate] [blame] [check-ins using] [diff]

2016-02-21
15:37
Make use of C99-style for loops file: [b1e29fe508] check-in: [e0b9167693] user: js, branch: trunk, size: 7021 [annotate] [blame] [check-ins using] [diff]
2016-01-03
00:43
Update copyright

While at it, also update the mail address. file: [0a88d7643b] check-in: [cec0f072f8] user: js, branch: 0.8, size: 7100 [annotate] [blame] [check-ins using] [diff]

00:41
Update copyright

While at it, also update the mail address. file: [66616ef22a] check-in: [2a27cf3000] user: js, branch: trunk, size: 6993 [annotate] [blame] [check-ins using] [diff]

2015-11-29
14:02
Make use of fast enumeration

Now that we require GCC >= 4.6 anyway, there's no more reason to not use
it anymore. file: [2d053d23e3] check-in: [6b13727ce0] user: js, branch: trunk, size: 6989 [annotate] [blame] [check-ins using] [diff]

2015-01-03
20:57
Update copyright file: [8679aa9a9b] check-in: [cfd374b906] user: js, branch: trunk, size: 7096 [annotate] [blame] [check-ins using] [diff]
2014-07-16
17:02
Fix check in -[OFDictionary_hashtable isEqual:]

Instead of checking the passed dictionary, this checked self, which of
course would always be of type OFDictionary_hashtable.

While at it, use -[isKindOfClass:] instead for the check. file: [f2533d462f] check-in: [2ecede1f96] user: js, branch: trunk, size: 7090 [annotate] [blame] [check-ins using] [diff]

2014-06-21
21:43
Move all macros from OFObject.h to macros.h

This means that OFObject.h imports macros.h now, making it unnecessary
to manually import macros.h in almost every file. And while at it, also
import autorelease.h in OFObject.h, so that this doesn't need to be
manually imported in almost every file as well. file: [babbf9f98a] check-in: [13ee56edf3] user: js, branch: trunk, size: 7135 [annotate] [blame] [check-ins using] [diff]

2014-06-16
15:06
Make return type of -[OFArray objects] const

After all, this might (and does for OFArray_adjacent!) return an
internal representation that must not be changed, so changes should be
prevented at compile-time. file: [99931c4432] check-in: [68d32a92c1] user: js, branch: trunk, size: 7179 [annotate] [blame] [check-ins using] [diff]

2014-04-26
00:40
Fix a few issues on LLP64 and Win64

LLP64 was mostly fast enumeration using an unsigned long for the state,
which can't store a pointer or a size_t on LLP64. This is now solved by
either throwing an OFOutOfRangeException if the value of the size_t is
bigger than ULONG_MAX or storing the pointer in the extra field (copied
using memcpy, as it's an array of unsigned long, which again would be
too small to store a pointer).

Win64 was mostly Microsoft not being able to decide whether a length is
a size_t, a DWORD, an int or an unsigned int (thus the different types
in places that seem to be almost the same). But since that would not be
confusing enough, a file descriptor is an int if it's for a file, but a
long long if it is for a socket. But of course, for ReadFile and friends
it's a DWORD instead of an int then. file: [794a332a64] check-in: [4e59d2692f] user: js, branch: trunk, size: 7161 [annotate] [blame] [check-ins using] [diff]

2014-04-08
17:01
OFArray_adjacent: Optimize fast enumeration

This restores the previous behaviour for OFArray_adjacent. It was lost
when OFArray's fast enumeration was changed to be better optimized for
huge arrays that aren't adjacent in memory. I forgot that
OFArray_adjacent just used the implementation from OFArray, as OFArray
had the ideal implementation for OFArray_adjacent, but now that OFArray
is optimized for huge, non-adjacent arrays, this wasn't the case
anymore. file: [0b8584dc8f] check-in: [4dbca9fc06] user: js, branch: trunk, size: 7146 [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
Update copyright. file: [6856cfe7f0] check-in: [3b97fc3cd9] user: js, branch: trunk, size: 6587 [annotate] [blame] [check-ins using] [diff]
2013-06-28
18:44
Remove useless rethrows. file: [b74a7d11a1] check-in: [ee849cd073] user: js, branch: trunk, size: 6581 [annotate] [blame] [check-ins using] [diff]
2013-06-22
12:12
Rework exceptions.

This mostly removes the argument for the class in which the exception
occurred. As backtraces were recently added for all platforms, the
passed class does not give any extra information on where the exception
occurred anymore.

This also removes a few other arguments which were not too helpful. In
the past, the idea was to pass as many arguments as possible so that it
is easier to find the origin of the exception. However, as backtraces
are a much better way to find the origin, those are not useful anymore
and just make the exception more cumbersome to use. The rule is now to
only pass arguments that might help in recovering from the exception or
provide information that is otherwise not easily accessible. file: [213aaaa47c] check-in: [3d16a30f41] user: js, branch: trunk, size: 6817 [annotate] [blame] [check-ins using] [diff]

2013-03-04
18:32
Make old GCCs happy. file: [ad2d762abe] check-in: [0bb3fc850a] user: js, branch: trunk, size: 7030 [annotate] [blame] [check-ins using] [diff]
17:20
Replace BOOL with bool.

The only places where BOOL is left are those where they are required by
the ABI. file: [712ba693de] check-in: [c5ef582958] user: js, branch: trunk, size: 6984 [annotate] [blame] [check-ins using] [diff]

2013-03-01
21:19
Rethrow some exceptions to fix class.

This way, the error message will show the called class instead of the
class used internally. file: [2158b59870] check-in: [2de15db195] user: js, branch: trunk, size: 6970 [annotate] [blame] [check-ins using] [diff]

2013-02-18
12:27
Add -[OFMutableArray initWithCapacity:]. file: [1c69665b63] check-in: [e0c9168dfc] user: js, branch: trunk, size: 6734 [annotate] [blame] [check-ins using] [diff]
2013-02-12
18:22
Prefix all ivars with an underscore. file: [a68b59eaa5] check-in: [e40729d406] user: js, branch: trunk, size: 6641 [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
Update copyright. file: [c91deb9080] check-in: [813c00ccf0] user: js, branch: trunk, size: 6613 [annotate] [blame] [check-ins using] [diff]
2012-12-15
17:52
OFDataArray: Improve API. file: [72c1eebe96] check-in: [c85ff8d35a] user: js, branch: trunk, size: 6607 [annotate] [blame] [check-ins using] [diff]
2012-12-06
00:51
Clean up a few -[hash] methods. file: [78c03c8d5c] check-in: [10f221ad30] user: js, branch: trunk, size: 6642 [annotate] [blame] [check-ins using] [diff]
2012-11-12
11:24
Check more arguments for nil. file: [7116965323] check-in: [f5c4220251] user: js, branch: trunk, size: 6775 [annotate] [blame] [check-ins using] [diff]
2012-10-14
10:36
More integer overflow checks. file: [cdb0c9cc7a] check-in: [53af033b0e] user: js, branch: trunk, size: 6356 [annotate] [blame] [check-ins using] [diff]
00:59
OF_INVALID_INDEX -> OF_NOT_FOUND. file: [d65c9872b3] check-in: [f38744df74] user: js, branch: trunk, size: 6278 [annotate] [blame] [check-ins using] [diff]
00:54
range.start -> range.location. file: [96ab47295a] check-in: [c9433ea60d] user: js, branch: trunk, size: 6286 [annotate] [blame] [check-ins using] [diff]
2012-08-10
20:08
Directly use the runtime's autorelease pools.

This greatly improves performance, as it gets rid of the overhead of
OFAutoreleasePool. file: [9a07b7851a] check-in: [1255f3a11a] user: js, branch: trunk, size: 6274 [annotate] [blame] [check-ins using] [diff]

2012-07-12
01:28
Don't access isa directly. file: [a6c8e71afe] check-in: [8892ae9fcc] user: js, branch: trunk, size: 6280 [annotate] [blame] [check-ins using] [diff]
2012-06-06
13:09
Rework OFDataArray API.

Also adds more checks. file: [7c4a615aae] check-in: [d5ddb2cb48] user: js, branch: trunk, size: 6253 [annotate] [blame] [check-ins using] [diff]

2012-03-29
07:57
Add a few "const" where they make sense. file: [c8a1da4bf7] check-in: [89d53f2a9a] user: js, branch: trunk, size: 6245 [annotate] [blame] [check-ins using] [diff]
2012-03-12
12:05
Make array literals work. file: [0afb4e2882] check-in: [a18e732a06] user: js, branch: trunk, size: 6239 [annotate] [blame] [check-ins using] [diff]
11:54
OFArray: +[arrayWithCArray:length:] -> +[arrayWithObjects:count:].

This is required for the new array literals. file: [cb33472061] check-in: [008be86a16] user: js, branch: trunk, size: 6144 [annotate] [blame] [check-ins using] [diff]

11:01
Remove +[OFArray arrayWithCArray:] as it is pretty useless. file: [650b5ba321] check-in: [32f7b1390a] user: js, branch: trunk, size: 6118 [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
Update copyright. file: [49ed7295ca] check-in: [ce70e17b38] user: js, branch: trunk, size: 6522 [annotate] [blame] [check-ins using] [diff]
2011-10-04
13:14
Split OFXMLElement into OFXML{Element,Characters,CDATA,Comment}. file: [76943c273b] check-in: [03f14bf019] user: js, branch: trunk, size: 6516 [annotate] [blame] [check-ins using] [diff]
2011-09-22
23:25
Exceptions are now autoreleased.

This is safe as an "exception loop" can't happen, since if allocating
an exception fails, it throws an OFAllocFailedException which is
preallocated and can always be thrown.

So, the worst case would be that an autorelease of an exception fails,
triggering an OFOutOfMemoryException for which there is no memory,
resulting in an OFAllocFailedException to be thrown. file: [d472eede07] check-in: [e1e7ffa903] user: js, branch: trunk, size: 6562 [annotate] [blame] [check-ins using] [diff]

2011-09-11
12:15
Add OFArray_subarray and OFArray_adjacenSubarray.

These will prevent a copy of an immutable array when using
-[objectsInRange:]. file: [831950ce9b] check-in: [9e0ca2f627] user: js, branch: trunk, size: 6541 [annotate] [blame] [check-ins using] [diff]

2011-08-13
10:04
Added: Introduce a naming scheme for classes implementing abstract classes. file: [f4dc3297f2] check-in: [80d754522a] user: js, branch: trunk, size: 6303 [annotate] [blame] [check-ins using]