ObjFW  History of src/OFMutableArray_adjacent.m of 625377fca5bea961

History of file src/OFMutableArray_adjacent.m at check-in 625377fca5bea961

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: [e7c93457b6] check-in: [bceb7ed4c9] user: js, branch: trunk, size: 7785 [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
Update copyright file: [feb12f542d] check-in: [0509d7a844] user: js, branch: trunk, size: 7763 [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
Update copyright notice file: [9f6c482339] check-in: [7e5c81e186] user: js, branch: trunk, size: 7757 [annotate] [blame] [check-ins using] [diff]
2017-10-22
15:05
Make Apple GCC with -Wshadow happy file: [271b9597ba] check-in: [a06354b42a] user: js, branch: trunk, size: 7734 [annotate] [blame] [check-ins using] [diff]
14:09
Make Apple GCC with -Wshadow happy file: [32af0c25d1] check-in: [31c0f5b89e] user: js, branch: 0.90, size: 7652 [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: [5cf73c1314] check-in: [2f4e0df8be] user: js, branch: trunk, size: 7772 [annotate] [blame] [check-ins using] [diff]

2017-09-26
22:40
Work around Clang analyzer false positives file: [72511012c6] check-in: [c9efebeff9] user: js, branch: trunk, size: 7758 [annotate] [blame] [check-ins using] [diff]
2017-07-22
20:50
Split OFDataArray into OFData and OFMutableData file: [e5a95ab2b1] check-in: [c8f7b90082] user: js, branch: trunk, size: 7690 [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: [6496c63550] check-in: [4af49a13c3] user: js, branch: trunk, size: 7698 [annotate] [blame] [check-ins using] [diff]

2017-05-01
13:37
Add tests for generic OFArray / OFMutableArray

These are usually not used, as OFArray_adjacent and
OFMutableArray_adjacent are used instead. However, they are used if
someone creates their own subclass of OFArray / OFMutableArray. As they
are rarely used in production, it is important to run all tests on them. file: [55b87bb47c] check-in: [7fec2ef57e] user: js, branch: trunk, size: 7694 [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: [6ee14e3c8a] check-in: [44f45c2e35] user: js, branch: trunk, size: 7667 [annotate] [blame] [check-ins using] [diff]

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

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

2015-01-03
20:57
Update copyright file: [2341894966] check-in: [cfd374b906] user: js, branch: trunk, size: 7621 [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: [873b95dc7f] check-in: [68d32a92c1] user: js, branch: trunk, size: 7615 [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: [1c77ed7f95] check-in: [4e59d2692f] user: js, branch: trunk, size: 7609 [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: [dd32892024] check-in: [4dbca9fc06] user: js, branch: trunk, size: 7594 [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
Update copyright. file: [7139dbd166] check-in: [3b97fc3cd9] user: js, branch: trunk, size: 7377 [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: [190fb95780] check-in: [3d16a30f41] user: js, branch: trunk, size: 7371 [annotate] [blame] [check-ins using] [diff]

2013-03-08
22:44
Document the block types.

This also removes "bool *stop" from some blocks where it does not make
sense. file: [4bdaba029a] check-in: [e8473b9db8] user: js, branch: trunk, size: 7794 [annotate] [blame] [check-ins using] [diff]

2013-03-04
17:20
Replace BOOL with bool.

The only places where BOOL is left are those where they are required by
the ABI. file: [1c467efbfe] check-in: [c5ef582958] user: js, branch: trunk, size: 7834 [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: [a8ef885aa6] check-in: [2de15db195] user: js, branch: trunk, size: 7828 [annotate] [blame] [check-ins using] [diff]

2013-02-18
12:27
Add -[OFMutableArray initWithCapacity:]. file: [95d0045e21] check-in: [e0c9168dfc] user: js, branch: trunk, size: 7589 [annotate] [blame] [check-ins using] [diff]
2013-02-12
18:22
Prefix all ivars with an underscore. file: [65e0f02167] check-in: [e40729d406] user: js, branch: trunk, size: 7355 [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
Update copyright. file: [0727c1b670] check-in: [813c00ccf0] user: js, branch: trunk, size: 7313 [annotate] [blame] [check-ins using] [diff]
2012-12-15
17:52
OFDataArray: Improve API. file: [f345fceab0] check-in: [c85ff8d35a] user: js, branch: trunk, size: 7307 [annotate] [blame] [check-ins using] [diff]
2012-12-01
18:08
OFDictionary_hashtable: Store in OFMapTable. file: [b75900fe79] check-in: [1abbb97747] user: js, branch: trunk, size: 7334 [annotate] [blame] [check-ins using] [diff]
2012-11-12
11:24
Check more arguments for nil. file: [6fbb272bbe] check-in: [f5c4220251] user: js, branch: trunk, size: 7334 [annotate] [blame] [check-ins using] [diff]
2012-11-02
22:07
Make -[removeLastObject] on an empty array a nop. file: [d741de4264] check-in: [f2a39c4f61] user: js, branch: trunk, size: 6508 [annotate] [blame] [check-ins using] [diff]
2012-10-14
10:36
More integer overflow checks. file: [83612a9b9c] check-in: [53af033b0e] user: js, branch: trunk, size: 6447 [annotate] [blame] [check-ins using] [diff]
00:54
range.start -> range.location. file: [35095fc2a7] check-in: [c9433ea60d] user: js, branch: trunk, size: 6398 [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: [b8f5cd2bb5] check-in: [1255f3a11a] user: js, branch: trunk, size: 6392 [annotate] [blame] [check-ins using] [diff]

2012-07-12
01:28
Don't access isa directly. file: [6feaf02274] check-in: [8892ae9fcc] user: js, branch: trunk, size: 6422 [annotate] [blame] [check-ins using] [diff]
2012-06-10
16:03
Add a few array methods.

OFArray:
* +[arrayByAddingObject:]
* +[arrayByAddingObjectsFromArray:]

OFMutableArray:
* -[addObjectsFromArray:]
* -[insertObjectsFromArray:atIndex:] file: [e388818b36] check-in: [95e8e1e486] user: js, branch: trunk, size: 6351 [annotate] [blame] [check-ins using] [diff]

13:28
More API improvements. file: [fb3dbd6aee] check-in: [11d3d69a22] user: js, branch: trunk, size: 6041 [annotate] [blame] [check-ins using] [diff]
2012-06-06
13:47
Slightly change the memory management API.

Also fix a bug where OFBigDataArray would waste memory. file: [489af893ca] check-in: [f7576a66ce] user: js, branch: trunk, size: 6049 [annotate] [blame] [check-ins using] [diff]

13:14
Remove -[OFMutableArray removeNObjects:]. file: [50b79cf523] check-in: [6f0ef1c5e1] user: js, branch: trunk, size: 6040 [annotate] [blame] [check-ins using] [diff]
13:09
Rework OFDataArray API.

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

12:15
-[addObject:atIndex:] -> -[insertObject:atIndex:].

For consistency with Foundation. file: [725da742e3] check-in: [26f2ffa908] user: js, branch: trunk, size: 6570 [annotate] [blame] [check-ins using] [diff]

12:15
swapObjectAtIndex... -> exchangeObjectAtIndex...

For consistency with Foundation. file: [998a7318fe] check-in: [13e6e99067] user: js, branch: trunk, size: 6564 [annotate] [blame] [check-ins using] [diff]

2012-03-12
11:54
OFArray: +[arrayWithCArray:length:] -> +[arrayWithObjects:count:].

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

2012-01-31
13:59
Add -[removeAllObjects] and -[removeAllItems]. file: [e02a8ee9e6] check-in: [d1572ef036] user: js, branch: trunk, size: 6518 [annotate] [blame] [check-ins using] [diff]
2012-01-08
02:03
More methods for OFArray and OFMutableArray. file: [397d9a1a3d] check-in: [72efa4f4f3] user: js, branch: trunk, size: 6345 [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
Update copyright. file: [9d4a37306d] check-in: [ce70e17b38] user: js, branch: trunk, size: 5765 [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: [cacb4ce363] check-in: [e1e7ffa903] user: js, branch: trunk, size: 5759 [annotate] [blame] [check-ins using] [diff]

2011-09-19
16:34
Rename -[allocMemoryForNItems:withSize:] and friends.
It is now -[allocMemoryForNItems:ofSize:].
file: [fb38385e6c] check-in: [f173477bef] user: js, branch: trunk, size: 5722 [annotate] [blame] [check-ins using] [diff]
2011-08-13
10:04
Added: Introduce a naming scheme for classes implementing abstract classes. file: [dac9f5ca9a] check-in: [80d754522a] user: js, branch: trunk, size: 5722 [annotate] [blame] [check-ins using]