ObjFW  History of src/OFArray.m of ed8107953ddb0473

History of file src/OFArray.m at check-in ed8107953ddb0473

2024-04-03
02:16
Change license to LGPLv3 only file: [26f7548752] check-in: [7413a728a7] user: js, branch: trunk, size: 19026 [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
Update copyright file: [b037c2efc4] check-in: [26ddd2e4e4] user: js, branch: trunk, size: 18818 [annotate] [blame] [check-ins using] [diff]
2023-08-29
12:16
Fix compilation with Apple GCC 4.0.1 & 4.2.1 file: [2fdd882a05] check-in: [b5e3f01a59] user: js, branch: trunk, size: 18818 [annotate] [blame] [check-ins using] [diff]
2023-08-13
22:02
OFSet: Add designated initializers file: [c1836ceb46] check-in: [d0205355f5] user: js, branch: trunk, size: 18788 [annotate] [blame] [check-ins using] [diff]
2023-08-12
17:31
OFDictionary: Add designated initializers file: [0cc4510ea3] check-in: [4fa963805b] user: js, branch: trunk, size: 18817 [annotate] [blame] [check-ins using] [diff]
12:05
OFArray: Add designated initializer file: [ae3e0d5879] check-in: [47860977ff] user: js, branch: trunk, size: 18824 [annotate] [blame] [check-ins using] [diff]
2023-08-09
09:08
Add OF_SINGLETON_METHODS file: [a991103c76] check-in: [36310f6263] user: js, branch: trunk, size: 17446 [annotate] [blame] [check-ins using] [diff]
08:25
More consistent naming for concrete classes file: [2c1ad7f305] check-in: [6da6276ae7] user: js, branch: trunk, size: 17579 [annotate] [blame] [check-ins using] [diff]
08:14
Add OFSubdata

This replaces the hack of OFAdjacentData being able to keep a pointer to
the parent. file: [9b0a605b93] check-in: [d1a8c88dc6] user: js, branch: trunk, size: 17579 [annotate] [blame] [check-ins using] [diff]

2023-08-08
15:32
A few minor cleanups file: [baf90bc720] check-in: [a6f520157a] user: js, branch: trunk, size: 17548 [annotate] [blame] [check-ins using] [diff]
2023-07-15
23:44
Never set mutationsPtr to self

The Apple runtime can store the retain count in isa, so
retaining/releasing an object would suddenly make it seem like it was
mutated. file: [b025a39cbb] check-in: [27d8eb922d] user: js, branch: trunk, size: 17476 [annotate] [blame] [check-ins using] [diff]

2023-04-10
19:22
Remove OFSerialization

While the idea sounds nice that the tag name is the class, this means the
serialization includes whether something is mutable or immutable. This means
doing as much as making something immutable changes the serialization, which
can then cause issues after being deserialized. file: [79e2c56f24] check-in: [6ce0093f8d] user: js, branch: trunk, size: 17444 [annotate] [blame] [check-ins using] [diff]

2023-01-06
09:04
Update copyright file: [9908191730] check-in: [8939cbdb52] user: js, branch: trunk, size: 18337 [annotate] [blame] [check-ins using] [diff]
2022-12-25
18:01
Add -[sortedArrayUsingFunction:context:options:] file: [5871b39d6f] check-in: [c911523834] user: js, branch: trunk, size: 18337 [annotate] [blame] [check-ins using] [diff]
2022-11-16
01:27
Add OFAssert()

This uses the same format as OFEnsure(). file: [26b9b812f3] check-in: [c86b8f10f0] user: js, branch: trunk, size: 18025 [annotate] [blame] [check-ins using] [diff]

2022-09-04
18:46
Remove -[prependString:] and -[reverse] file: [c89de989b4] check-in: [6c3ec63d96] user: js, branch: trunk, size: 18044 [annotate] [blame] [check-ins using] [diff]
2022-08-30
00:48
OFObject: Small API change file: [b356d7c687] check-in: [4ad0c363f3] user: js, branch: trunk, size: 18034 [annotate] [blame] [check-ins using] [diff]
2022-06-12
06:27
Remove a few useless methods file: [7359b37923] check-in: [6228b691b5] user: js, branch: trunk, size: 18034 [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
Update copyright file: [3f7a80c4c6] check-in: [1a86b8175b] user: js, branch: trunk, size: 18207 [annotate] [blame] [check-ins using] [diff]
2021-08-07
23:25
Make Apple GCC 4.0.1 happy again file: [8ae58ccb41] check-in: [176e97bd4d] user: js, branch: trunk, size: 18207 [annotate] [blame] [check-ins using] [diff]
2021-04-19
21:54
Rename a few more constants file: [37c945555f] check-in: [458420998c] user: js, branch: new-naming-convention, size: 18181 [annotate] [blame] [check-ins using] [diff]
2021-04-18
15:55
Rename all functions in macros.h file: [3a75bc9f84] check-in: [7392685ffc] user: js, branch: new-naming-convention, size: 18185 [annotate] [blame] [check-ins using] [diff]
2021-04-17
22:45
Rename of_(re)alloc and add OFFreeMemory file: [b0dfbc26ff] check-in: [498074dab9] user: js, branch: new-naming-convention, size: 18186 [annotate] [blame] [check-ins using] [diff]
17:49
Rename JSON representation options file: [3de2dc55f8] check-in: [5ce8c7cca7] user: js, branch: new-naming-convention, size: 18134 [annotate] [blame] [check-ins using] [diff]
14:13
Always prefix functions with the type file: [a47e5750f8] check-in: [eb0cfa6ff9] user: js, branch: new-naming-convention, size: 18037 [annotate] [blame] [check-ins using] [diff]
02:43
Rename of_fast_enumeration_state_t file: [6fa2c5536f] check-in: [ed3b07591c] user: js, branch: new-naming-convention, size: 18037 [annotate] [blame] [check-ins using] [diff]
02:40
Rename all types in OFArray.h file: [5dd577c100] check-in: [e23daca6ef] user: js, branch: new-naming-convention, size: 18042 [annotate] [blame] [check-ins using] [diff]
01:24
OF_NOT_FOUND -> OFNotFound file: [a442301bcd] check-in: [83dc0fe6e5] user: js, branch: new-naming-convention, size: 17995 [annotate] [blame] [check-ins using] [diff]
00:44
of_range_t -> OFRange file: [dfd2b260d5] check-in: [d975c53a43] user: js, branch: new-naming-convention, size: 18007 [annotate] [blame] [check-ins using] [diff]
00:24
of_comparator_t -> OFComparator file: [cb54365db5] check-in: [aade14a6e2] user: js, branch: new-naming-convention, size: 18010 [annotate] [blame] [check-ins using] [diff]
2021-03-07
20:25
*.m: Fold methods into one line where it fits file: [f6ae42a2d9] check-in: [1b82d3bf4f] user: js, branch: trunk, size: 18013 [annotate] [blame] [check-ins using] [diff]
02:36
Style change: Allow more than 1 argument per line

This is only migrating some places, others will be migrated as they are
touched. file: [e8aa9a3165] check-in: [a0fd103a0b] user: js, branch: trunk, size: 18007 [annotate] [blame] [check-ins using] [diff]

2021-01-02
22:04
Update copyright file: [1f1150d009] check-in: [374e1a1bfa] user: js, branch: trunk, size: 18127 [annotate] [blame] [check-ins using] [diff]
2020-11-14
12:23
Rename of_malloc and of_calloc

The new names should be more accurate. file: [5b6a2f3354] check-in: [627511b032] user: js, branch: trunk, size: 18216 [annotate] [blame] [check-ins using] [diff]

2020-11-07
10:38
Make GCC happy again file: [6e7407d49b] check-in: [7aa23887d0] user: js, branch: trunk, size: 18220 [annotate] [blame] [check-ins using] [diff]
2020-11-06
02:24
Future-proof some code using freeWhenDone

While -[OFData initWithDataNoCopy:count:itemSize:freeWhenDone:] can
currently never throw, it might in the future, and when it does so in
the future, these would be memory leaks then. file: [a1c992248d] check-in: [a2b4238850] user: js, branch: trunk, size: 18215 [annotate] [blame] [check-ins using] [diff]

02:12
OFData: Make parameter order more consistent file: [84ddc75d7b] check-in: [9d74d1b74e] user: js, branch: trunk, size: 18211 [annotate] [blame] [check-ins using] [diff]
01:23
OFArray: Fix minor performance regression file: [d8de445b42] check-in: [51ea191cf4] user: js, branch: trunk, size: 18211 [annotate] [blame] [check-ins using] [diff]
2020-11-05
02:27
Further reduce usage of -[allocMemoryWithSize:] file: [eac8a2ce35] check-in: [da1fb6b21c] user: js, branch: trunk, size: 18164 [annotate] [blame] [check-ins using] [diff]
00:24
Avoid -[allocMemoryWithSize:] for temporary memory

-[allocMemoryWithSize:] has book keeping overhead that is unnecessary
for temporary memory. file: [e881543a8d] check-in: [0ddaac3f5b] user: js, branch: trunk, size: 18170 [annotate] [blame] [check-ins using] [diff]

2020-10-10
14:27
OFObject: Change type of -[hash] to unsigned long

The internal hash is still 32 bit in most places, but this way, it is at
least not baked into the API and ABI and can be upgraded later, should
that ever be necessary. file: [3a99f337b3] check-in: [aeb403a1ed] user: js, branch: trunk, size: 18308 [annotate] [blame] [check-ins using] [diff]

2020-01-02
01:51
Update copyright file: [76b22a5fc0] check-in: [c7f0229795] user: js, branch: trunk, size: 18303 [annotate] [blame] [check-ins using] [diff]
2019-09-29
20:53
Reduce ivar scopes file: [9bb6a6b4d8] check-in: [e0a330b377] user: js, branch: trunk, size: 18300 [annotate] [blame] [check-ins using] [diff]
2019-06-19
00:45
OFEnumerator: Remove -[reset]

It's not very useful and is a problem for the Foundation bridge, as
NSEnumerator does not have it. file: [b12c539371] check-in: [7214a2c7af] user: js, branch: trunk, size: 18272 [annotate] [blame] [check-ins using] [diff]

2019-06-17
02:33
Remove underscores from class names file: [297edbd879] check-in: [17d57e01ff] user: js, branch: trunk, size: 18445 [annotate] [blame] [check-ins using] [diff]
2019-03-23
22:03
Add -[valueForKeyPath:] / -[setValue:forKeyPath:] file: [d37721f3e3] check-in: [d7824704f9] user: js, branch: trunk, size: 18470 [annotate] [blame] [check-ins using] [diff]
2019-03-08
00:35
Use dot syntax file: [58353278e7] check-in: [bceb7ed4c9] user: js, branch: trunk, size: 18873 [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
Update copyright file: [d06dd3fbb6] check-in: [0509d7a844] user: js, branch: trunk, size: 18910 [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
Update copyright notice file: [70575b5fe6] check-in: [7e5c81e186] user: js, branch: trunk, size: 18904 [annotate] [blame] [check-ins using] [diff]
2017-11-11
23:27
Small optimization for -[isEqual:] file: [645bd4495c] check-in: [526feacebc] user: js, branch: trunk, size: 18881 [annotate] [blame] [check-ins using] [diff]
2017-11-05
18:25
Use -[isMemberOfClass:] instead of object_getClass file: [d01c44316b] check-in: [0a4565fb0f] user: js, branch: trunk, size: 18844 [annotate] [blame] [check-ins using] [diff]
2017-10-22
15:05
Make Apple GCC with -Wshadow happy file: [1bed7cc771] check-in: [a06354b42a] user: js, branch: trunk, size: 18845 [annotate] [blame] [check-ins using] [diff]
14:09
Make Apple GCC with -Wshadow happy file: [1810203c70] check-in: [31c0f5b89e] user: js, branch: 0.90, size: 18237 [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: [5414c26349] check-in: [2f4e0df8be] user: js, branch: trunk, size: 18865 [annotate] [blame] [check-ins using] [diff]

2017-10-11
20:59
Fix shadowed variables and enable -Wshadow file: [ffbda05782] check-in: [836314f39a] user: js, branch: 0.90, size: 18257 [annotate] [blame] [check-ins using] [diff]
20:53
Fix shadowed variables and enable -Wshadow file: [1c7667e82c] check-in: [00476e4430] user: js, branch: trunk, size: 18605 [annotate] [blame] [check-ins using] [diff]
2017-09-27
22:38
More nullability fixes file: [ad4973a648] check-in: [6b66bda9eb] user: js, branch: 0.90, size: 18275 [annotate] [blame] [check-ins using] [diff]
22:35
More nullability fixes file: [3fb8497b42] check-in: [697e3ecbf7] user: js, branch: trunk, size: 18623 [annotate] [blame] [check-ins using] [diff]
2017-08-13
13:50
OFArray: Fix MessagePack encoding file: [bc7d3f13f5] check-in: [abe1d8cb58] user: js, branch: 0.90, size: 18000 [annotate] [blame] [check-ins using] [diff]
13:50
OFArray: Fix MessagePack encoding file: [190702fc68] check-in: [ada612eac9] user: js, branch: trunk, size: 18348 [annotate] [blame] [check-ins using] [diff]
2017-08-12
21:03
Add -[OFMutableArray sortUsingSelector:options:] file: [b6dec58036] check-in: [daa11c19cb] user: js, branch: trunk, size: 18348 [annotate] [blame] [check-ins using] [diff]
2017-07-22
20:50
Split OFDataArray into OFData and OFMutableData file: [15022d3186] check-in: [c8f7b90082] user: js, branch: trunk, size: 18000 [annotate] [blame] [check-ins using] [diff]
2017-05-21
21:28
Prefix private methods with of_ instead of OF_

This matches Apple's style. file: [75d72d0a96] check-in: [6b77a5dd8b] user: js, branch: trunk, size: 17992 [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: [acebabe718] check-in: [4af49a13c3] user: js, branch: trunk, size: 17992 [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: [5b8c0b589b] check-in: [44f45c2e35] user: js, branch: trunk, size: 17943 [annotate] [blame] [check-ins using] [diff]

2016-09-12
00:27
Add OF_DEALLOC_UNSUPPORTED macro file: [363adf6612] check-in: [13f4c6c678] user: js, branch: trunk, size: 17937 [annotate] [blame] [check-ins using] [diff]
2016-06-05
20:07
Fix -[OFArray valueForKey:]

Contrary to what the documentation stated, it did not actually call
super when the key was starting with an @. file: [b96b2adef7] check-in: [134c19b100] user: js, branch: trunk, size: 17993 [annotate] [blame] [check-ins using] [diff]

15:00
Implement Key Value Coding for OFArray

If the key starts with an @, the @ is stripped and the super method is
called. Otherwise, this returns the value for all objects / sets the
value for all objects. file: [2d002f2918] check-in: [05196e511a] user: js, branch: trunk, size: 17497 [annotate] [blame] [check-ins using] [diff]

2016-02-21
15:37
Make use of C99-style for loops file: [a881a5d8d9] check-in: [e0b9167693] user: js, branch: trunk, size: 17010 [annotate] [blame] [check-ins using] [diff]
11:59
OFArray: Fix bug introduced by refactorization

Also improves the test to prevent this from happening again. file: [a01924feba] check-in: [8a14ad35aa] user: js, branch: trunk, size: 17011 [annotate] [blame] [check-ins using] [diff]

2016-01-03
01:14
Make more use of fast enumeration file: [20c7045513] check-in: [cb0fd980f9] user: js, branch: trunk, size: 16960 [annotate] [blame] [check-ins using] [diff]
00:43
Update copyright

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

00:41
Update copyright

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

2015-11-29
14:23
Clean up class extensions

Now that we can require GCC >= 4.6, we no longer need to fall back to
using a category on old compilers. file: [1d6d7edd47] check-in: [2aca549d60] user: js, branch: trunk, size: 17564 [annotate] [blame] [check-ins using] [diff]

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: [2be2e1c20f] check-in: [6b13727ce0] user: js, branch: trunk, size: 17583 [annotate] [blame] [check-ins using] [diff]

2015-01-03
20:57
Update copyright file: [ac5ec4c8c9] check-in: [cfd374b906] user: js, branch: trunk, size: 17847 [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: [c3b70333fd] check-in: [13ee56edf3] user: js, branch: trunk, size: 17841 [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: [1814e666e5] check-in: [68d32a92c1] user: js, branch: trunk, size: 17885 [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: [ff677666a5] check-in: [4e59d2692f] user: js, branch: trunk, size: 17849 [annotate] [blame] [check-ins using] [diff]

2014-02-08
09:26
Add -[JSONRepresentationWithOptions:]

This also adds OF_JSON_REPRESENTATION_PRETTY. file: [ef5fe152e1] check-in: [eaa612ad50] user: js, branch: trunk, size: 17739 [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
Update copyright. file: [c05d529d81] check-in: [3b97fc3cd9] user: js, branch: trunk, size: 16335 [annotate] [blame] [check-ins using] [diff]
2013-12-21
12:58
-[performSelector:]: Use the normal dispatch.

This has the advantage of being faster. file: [752e762054] check-in: [3dac86b429] user: js, branch: trunk, size: 16329 [annotate] [blame] [check-ins using] [diff]

2013-11-23
01:27
Add OF_UNRECOGNIZED_SELECTOR. file: [0c3512457f] check-in: [6e19bd47ee] user: js, branch: trunk, size: 16417 [annotate] [blame] [check-ins using] [diff]
01:12
Add OF_INVALID_INIT_METHOD. file: [2f6f04f166] check-in: [35dafd5c57] user: js, branch: trunk, size: 16489 [annotate] [blame] [check-ins using] [diff]
2013-08-25
12:14
Add -[OFArray componentsJoinedByString:options:].

This allows to skip empty components. file: [38f8d86997] check-in: [f975b722df] user: js, branch: trunk, size: 16841 [annotate] [blame] [check-ins using] [diff]

2013-08-08
23:21
OFArray: Add forgotten ivar prefix. file: [5e48577b79] check-in: [a3b6cca867] user: js, branch: trunk, size: 16126 [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: [1b7e4a8b63] check-in: [3d16a30f41] user: js, branch: trunk, size: 16114 [annotate] [blame] [check-ins using] [diff]

2013-06-19
19:14
Implement the new MessagePack specification.

No support for extensions yet.

This obsoletes BinaryPack. file: [3ddd9aa2f7] check-in: [cba771824e] user: js, branch: trunk, size: 16327 [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: [65b65f023d] check-in: [c5ef582958] user: js, branch: trunk, size: 16325 [annotate] [blame] [check-ins using] [diff]

2013-02-21
19:35
Add support for generating BinaryPack. file: [369534eb2f] check-in: [23c798d4f1] user: js, branch: trunk, size: 16312 [annotate] [blame] [check-ins using] [diff]
2013-02-05
22:24
Move abort() to make old GCCs happy. file: [1530533acf] check-in: [737a82e1a4] user: js, branch: trunk, size: 15114 [annotate] [blame] [check-ins using] [diff]
2013-01-14
00:39
OFArray: Add sorting with options. file: [915e088fa7] check-in: [188586881d] user: js, branch: trunk, size: 15114 [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
Update copyright. file: [f016136df9] check-in: [813c00ccf0] user: js, branch: trunk, size: 14932 [annotate] [blame] [check-ins using] [diff]
2012-12-22
15:37
Add -[doesNotRecognizeSelector:]. file: [0bbcdb4b0f] check-in: [917ce5754c] user: js, branch: trunk, size: 14926 [annotate] [blame] [check-ins using] [diff]
2012-12-06
00:51
Clean up a few -[hash] methods. file: [a77077bbb2] check-in: [10f221ad30] user: js, branch: trunk, size: 15144 [annotate] [blame] [check-ins using] [diff]
2012-11-12
11:24
Check more arguments for nil. file: [4f7e60625c] check-in: [f5c4220251] user: js, branch: trunk, size: 15277 [annotate] [blame] [check-ins using] [diff]
2012-10-30
22:16
OFArray: Optimize fast enumeration. file: [626ce7ee3d] check-in: [365e946d10] user: js, branch: trunk, size: 14823 [annotate] [blame] [check-ins using] [diff]
2012-10-21
22:12
Make GCC 4.4 happy. file: [03e4be362e] check-in: [fcade8da38] user: js, branch: trunk, size: 14710 [annotate] [blame] [check-ins using] [diff]
2012-10-14
10:36
More integer overflow checks. file: [94fe6e85f7] check-in: [53af033b0e] user: js, branch: trunk, size: 14727 [annotate] [blame] [check-ins using] [diff]
00:59
OF_INVALID_INDEX -> OF_NOT_FOUND. file: [c7257b8dbc] check-in: [f38744df74] user: js, branch: trunk, size: 14559 [annotate] [blame] [check-ins using] [diff]
00:54
range.start -> range.location. file: [462ac6c7f4] check-in: [c9433ea60d] user: js, branch: trunk, size: 14575 [annotate] [blame] [check-ins using] [diff]
2012-10-09
15:07
Make use of instancetype. file: [65f72110ac] check-in: [fb515e8e24] user: js, branch: trunk, size: 14572 [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: [208e599910] check-in: [1255f3a11a] user: js, branch: trunk, size: 14502 [annotate] [blame] [check-ins using] [diff]

2012-08-04
00:51
Add -[OFArray arrayByRemovingObject:]. file: [3601f4b0dd] check-in: [96bbfb777c] user: js, branch: trunk, size: 14562 [annotate] [blame] [check-ins using] [diff]
2012-07-12
01:28
Don't access isa directly. file: [e58f6deb57] check-in: [8892ae9fcc] user: js, branch: trunk, size: 14388 [annotate] [blame] [check-ins using] [diff]
2012-06-10
16:03
Add a few array methods.

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

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

13:28
More API improvements. file: [b302a054ee] check-in: [11d3d69a22] user: js, branch: trunk, size: 13892 [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: [5ae87127d9] check-in: [f7576a66ce] user: js, branch: trunk, size: 13903 [annotate] [blame] [check-ins using] [diff]

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

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

11:01
Remove +[OFArray arrayWithCArray:] as it is pretty useless. file: [8fffeb8088] check-in: [32f7b1390a] user: js, branch: trunk, size: 13769 [annotate] [blame] [check-ins using] [diff]
2012-01-31
10:59
Add -[sortedArray] to OFArray. file: [6919605399] check-in: [b48145bb74] user: js, branch: trunk, size: 14121 [annotate] [blame] [check-ins using] [diff]
2012-01-08
02:03
More methods for OFArray and OFMutableArray. file: [276f05e269] check-in: [72efa4f4f3] user: js, branch: trunk, size: 13984 [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
Update copyright. file: [3061fb79ac] check-in: [ce70e17b38] user: js, branch: trunk, size: 13842 [annotate] [blame] [check-ins using] [diff]
2011-12-10
13:17
Add JSON encoding. file: [53e138918e] check-in: [243a96fc2d] user: js, branch: trunk, size: 13836 [annotate] [blame] [check-ins using] [diff]
2011-10-31
21:18
Move placeholder interfaces from headers to implementation files.
This way they are not public anymore.
file: [b2464cd374] check-in: [6bdb2e4b01] user: js, branch: trunk, size: 13218 [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: [9d67fa5621] check-in: [e1e7ffa903] user: js, branch: trunk, size: 13172 [annotate] [blame] [check-ins using] [diff]

2011-09-19
16:34
Rename -[allocMemoryForNItems:withSize:] and friends.
It is now -[allocMemoryForNItems:ofSize:].
file: [a34fd71e38] check-in: [f173477bef] user: js, branch: trunk, size: 13113 [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: [de78bb7da7] check-in: [9e0ca2f627] user: js, branch: trunk, size: 13117 [annotate] [blame] [check-ins using] [diff]

2011-09-10
17:36
We can safely assume fast enumeration if we have blocks. file: [7b80c238f7] check-in: [ee77d91252] user: js, branch: trunk, size: 12954 [annotate] [blame] [check-ins using] [diff]
2011-09-09
13:35
[pool release] can never throw by convention now. file: [6654434c69] check-in: [798d9e6320] user: js, branch: trunk, size: 12900 [annotate] [blame] [check-ins using] [diff]
2011-08-30
17:07
Move throwing an OFNotImplementedException in abstract classes. file: [fec0c02685] check-in: [bfefa54668] user: js, branch: trunk, size: 12927 [annotate] [blame] [check-ins using] [diff]
2011-08-21
11:03
Make OFDictionary an abstract class. file: [3f04bd66a0] check-in: [c0098f89fe] user: js, branch: trunk, size: 12983 [annotate] [blame] [check-ins using] [diff]
2011-08-13
10:16
Introduce a naming scheme for placeholder classes. file: [e560d96eaf] check-in: [bfee66b3ec] user: js, branch: trunk, size: 12742 [annotate] [blame] [check-ins using] [diff]
10:04
Introduce a naming scheme for classes implementing abstract classes. file: [2988c16d4d] check-in: [80d754522a] user: js, branch: trunk, size: 12740 [annotate] [blame] [check-ins using] [diff]
2011-08-07
16:57
Add -[makeImmutable] to all mutable classes and use it. file: [da553bca16] check-in: [927dbf6e7d] user: js, branch: trunk, size: 12665 [annotate] [blame] [check-ins using] [diff]
2011-08-03
00:30
Make OFArray an abstract class. file: [409e6b7e60] check-in: [a855618045] user: js, branch: trunk, size: 13106 [annotate] [blame] [check-ins using] [diff]
2011-07-28
20:50
Don't create and release a pool in -[enumerateObjectsUsingBlock:].

This would make it impossible to use autoreleased objects after the
block has been executed without manually retaining and releasing them. file: [1f143f64a7] check-in: [bfb7745f95] user: js, branch: trunk, size: 13492 [annotate] [blame] [check-ins using] [diff]

2011-07-22
18:49
Improve methods using blocks in OFArray.

Mutations during enumerations using blocks are now always detected,
even for methods such as -[reduceWithBlock:]. file: [720a88390f] check-in: [f9b3ec49f8] user: js, branch: trunk, size: 13605 [annotate] [blame] [check-ins using] [diff]

17:09
Rename -[reduceUsingBlock:] to -[foldUsingBlock:]. file: [ce913f08f5] check-in: [d6faaf68b9] user: js, branch: trunk, size: 13601 [annotate] [blame] [check-ins using] [diff]
2011-07-21
23:56
Add -[enumerateObjectsUsingBlock:] and -[filteredSetUsingBlock:]. file: [55a42ad5b8] check-in: [3e6766ac10] user: js, branch: trunk, size: 13920 [annotate] [blame] [check-ins using] [diff]
22:01
Add -[reduceUsingBlock:] to OFArray. file: [fa2031559e] check-in: [03e89edb42] user: js, branch: trunk, size: 13924 [annotate] [blame] [check-ins using] [diff]
2011-07-14
23:19
Fix a memory leak in OFArray. file: [d4b4c05d50] check-in: [41cdf54612] user: js, branch: trunk, size: 13295 [annotate] [blame] [check-ins using] [diff]
2011-06-28
01:51
Change serialization format to be way more readable and shorter. file: [4847514de9] check-in: [756bb26c98] user: js, branch: trunk, size: 13298 [annotate] [blame] [check-ins using] [diff]
2011-06-06
16:19
Remove semicolons that should not have been there. file: [21897744ee] check-in: [048ed62083] user: js, branch: 0.5, size: 10875 [annotate] [blame] [check-ins using] [diff]
16:18
Remove semicolons that should not have been there. file: [cdeeda612a] check-in: [65ec63f7c1] user: js, branch: trunk, size: 13294 [annotate] [blame] [check-ins using] [diff]
2011-06-05
22:26
Nicer API for serialization. file: [d9849bf024] check-in: [29988c434b] user: js, branch: trunk, size: 13295 [annotate] [blame] [check-ins using] [diff]
19:27
Add OFNull class. file: [c8688826fd] check-in: [183825f113] user: js, branch: trunk, size: 13329 [annotate] [blame] [check-ins using] [diff]
2011-06-04
13:34
Remove useless casts. file: [b12d9bd25f] check-in: [675eda4ad3] user: js, branch: trunk, size: 13328 [annotate] [blame] [check-ins using] [diff]
2011-06-03
15:14
Add deserialization. file: [8ef39fadce] check-in: [dca3061dfc] user: js, branch: trunk, size: 13338 [annotate] [blame] [check-ins using] [diff]
2011-05-19
00:47
Add +[OFArray arrayWithArray:]. file: [d444e53917] check-in: [1e249becdf] user: js, branch: trunk, size: 12339 [annotate] [blame] [check-ins using] [diff]
2011-05-14
12:26
Use XML for serialization.

This way, we don't need a new parser and don't use a new format. file: [7df94bcaeb] check-in: [494dca4ae4] user: js, branch: trunk, size: 11940 [annotate] [blame] [check-ins using] [diff]

2011-05-08
23:25
Fix missing retain in -[OFArray initWithObject:argList:]. file: [39f6c9eb94] check-in: [bd7dbccb8b] user: js, branch: 0.5, size: 10876 [annotate] [blame] [check-ins using] [diff]
23:24
Fix missing retain in -[OFArray initWithObject:arguments:]. file: [40c18091bb] check-in: [1e9b75e44d] user: js, branch: trunk, size: 12520 [annotate] [blame] [check-ins using] [diff]
23:13
Fix incorrect indentation of -[OFArray stringBySerializing]. file: [7aa29c6164] check-in: [708c4ea884] user: js, branch: trunk, size: 12495 [annotate] [blame] [check-ins using] [diff]
22:36
Change serialization format. file: [a04fd61311] check-in: [17d18368bb] user: js, branch: trunk, size: 12476 [annotate] [blame] [check-ins using] [diff]
20:44
Add support for serialization to OFList. file: [b11d50e081] check-in: [046abd074d] user: js, branch: trunk, size: 12476 [annotate] [blame] [check-ins using] [diff]
20:35
Nicer formatting for serialization. file: [31db88bd8e] check-in: [bd879fd455] user: js, branch: trunk, size: 12594 [annotate] [blame] [check-ins using] [diff]
19:55
Add support for serialization.
No deserialization yet.
file: [d8d0e45d9b] check-in: [b27b3aa3e3] user: js, branch: trunk, size: 12517 [annotate] [blame] [check-ins using] [diff]
2011-04-28
18:15
Nicer description for empty collections. file: [47df73404c] check-in: [bbb3994c06] user: js, branch: 0.5, size: 10924 [annotate] [blame] [check-ins using] [diff]
18:15
Nicer description for empty collections. file: [a29168e02a] check-in: [d01d9805b3] user: js, branch: trunk, size: 11340 [annotate] [blame] [check-ins using] [diff]
2011-04-23
17:52
More style improvements. file: [52d24426fd] check-in: [5085342127] user: js, branch: trunk, size: 11291 [annotate] [blame] [check-ins using] [diff]
2011-04-22
16:23
Various style improvements. file: [b8875e845f] check-in: [c7e66feb30] user: js, branch: trunk, size: 11305 [annotate] [blame] [check-ins using] [diff]
2011-04-04
23:02
Indent -[description] of collections. file: [57851d31d6] check-in: [1df836eacc] user: js, branch: trunk, size: 10857 [annotate] [blame] [check-ins using] [diff]
2011-04-03
17:04
Fix -[makeObjectsPerformSelector:] and friends. file: [77dedbc50e] check-in: [9f68bba7cd] user: js, branch: trunk, size: 10768 [annotate] [blame] [check-ins using] [diff]
2011-03-27
17:51
Pass the causing object for OFEnumerationMutationExceptions. file: [25e8cbc1c1] check-in: [f072e1a338] user: js, branch: trunk, size: 10704 [annotate] [blame] [check-ins using] [diff]
2011-03-25
12:47
Add -[makeObjectsPerformSelector:] and friends to OFArray. file: [b3651305f9] check-in: [3a6d41c6a3] user: js, branch: trunk, size: 10472 [annotate] [blame] [check-ins using] [diff]
2011-03-24
19:42
Get rid of OFExceptions.h. file: [4d34bbbbff] check-in: [cda44767f4] user: js, branch: trunk, size: 10038 [annotate] [blame] [check-ins using] [diff]
2011-03-23
13:05
Use OF_INVALID_INDEX instead of SIZE_MAX. file: [cc2c3a4085] check-in: [a252dc5c69] user: js, branch: trunk, size: 9984 [annotate] [blame] [check-ins using] [diff]
2011-03-22
00:55
Add -Wshorten-64-to-32. file: [526194f8ce] check-in: [6d4dfb5bc7] user: js, branch: trunk, size: 9952 [annotate] [blame] [check-ins using] [diff]
2011-03-11
12:29
Create an autorelease pool before calling blocks. file: [bcf0037752] check-in: [44f8152a03] user: js, branch: trunk, size: 9872 [annotate] [blame] [check-ins using] [diff]
2011-02-26
19:40
Use class swizzling as an optimization. file: [5597d30fef] check-in: [06f539766f] user: js, branch: trunk, size: 9505 [annotate] [blame] [check-ins using] [diff]
2011-02-07
19:22
Add -[containsObject(IdenticalTo):] to OFCollection. file: [e3c5e67130] check-in: [0a6e073938] user: js, branch: trunk, size: 9008 [annotate] [blame] [check-ins using] [diff]
2011-02-02
17:38
Work around some annoying compiler bugs. file: [7a4da4f986] check-in: [1dcfbcb479] user: js, branch: trunk, size: 8565 [annotate] [blame] [check-ins using] [diff]
2011-01-01
20:19
Change license. file: [c2a9160a23] check-in: [da6b3d26cb] user: js, branch: trunk, size: 8511 [annotate] [blame] [check-ins using] [diff]
2010-12-12
01:21
Add -[mapped{Array,Dictionary}UsingBlock:]. file: [e5f9ad914b] check-in: [90c26dded5] user: js, branch: trunk, size: 8255 [annotate] [blame] [check-ins using] [diff]
00:38
Add -[filtered{Array,Dictionary}UsingBlock]. file: [654b3f415b] check-in: [42060f220c] user: js, branch: trunk, size: 7863 [annotate] [blame] [check-ins using] [diff]
2010-12-10
11:21
Documentation fixes. file: [a3c50697c4] check-in: [fada60d54c] user: js, branch: trunk, size: 7444 [annotate] [blame] [check-ins using] [diff]
2010-11-17
20:35
Remove now unnecessary safety check from -[componentsJoinedByString]. file: [c5697552c0] check-in: [e4f8d0a4e9] user: js, branch: trunk, size: 7476 [annotate] [blame] [check-ins using] [diff]
18:27
Adjust type to recent changes in -[OFArray componentsJoinedByString].
Not a problem, but changing it makes it clearer.
file: [3a4355d0c4] check-in: [5fe7a098d5] user: js, branch: trunk, size: 7638 [annotate] [blame] [check-ins using] [diff]
13:05
Ensure we have an OFMutableString in -[OFArray description]. file: [a01dde889d] check-in: [ea2533ca8e] user: js, branch: trunk, size: 7638 [annotate] [blame] [check-ins using] [diff]
12:59
Always return the description in -[componentsJoinedByString]. file: [638078253b] check-in: [eeb744ac25] user: js, branch: trunk, size: 7499 [annotate] [blame] [check-ins using] [diff]
2010-11-15
23:20
Fix forgotten call to -[description] in -[componentsJoinedByString]. file: [36b5ec075d] check-in: [1a68929cbb] user: js, branch: trunk, size: 7494 [annotate] [blame] [check-ins using] [diff]
2010-11-13
21:57
Add -[description] for OFObject, OFString, OFArray and OFDictionary. file: [f508012563] check-in: [9b50b86632] user: js, branch: trunk, size: 7480 [annotate] [blame] [check-ins using] [diff]
2010-11-06
11:27
Add -[OFArray objectsInRange:]. file: [b812da9162] check-in: [009bf787e3] user: js, branch: trunk, size: 7135 [annotate] [blame] [check-ins using] [diff]
2010-10-25
23:03
Clean up a lot of code (mostly init methods) and fix a missing rethrow. file: [9600e51a49] check-in: [8a7ca573c4] user: js, branch: trunk, size: 6993 [annotate] [blame] [check-ins using] [diff]
2010-09-23
22:53
Add -[objectsFromIndex:toIndex:] to OFArray. file: [0afd3cde8f] check-in: [14e949de94] user: js, branch: trunk, size: 7155 [annotate] [blame] [check-ins using] [diff]
2010-09-05
23:23
Rename -[enumerator] to -[objectEnumerator] for consistency. file: [ff4f2762a1] check-in: [ddb15601a2] user: js, branch: trunk, size: 6871 [annotate] [blame] [check-ins using] [diff]
23:19
Replace OFObject* with id in many places.

We assume now that every object understands retain, release, etc. so
that we can weaken the type from OFObject* to id. This makes it
possible to use different root object classes. file: [1e2bb24ba2] check-in: [e2b06423e0] user: js, branch: trunk, size: 6865 [annotate] [blame] [check-ins using] [diff]

2010-08-28
18:54
Initial support for blocks. file: [9bd99c7ed0] check-in: [c5d65603d8] user: js, branch: trunk, size: 6843 [annotate] [blame] [check-ins using] [diff]
2010-07-08
08:57
Don't retain + autorelease objects returned from collections.

This increases performance and should not need to be handled by the
programmer in most cases. file: [3b7a88e4d4] check-in: [d4b379485a] user: js, branch: trunk, size: 6591 [annotate] [blame] [check-ins using] [diff]

2010-06-17
20:17
Merge a few changesets from the default branch into the 0.3 branch.

Changesets:
* 4122c2fe2aaa
* 5280d39d0a1a
* 7dcedafb43a4
* 1a7bc2049db1
* 12cc1ee22047 file: [38df47daa4] check-in: [cb2058b0d8] user: js, branch: 0.3, size: 6661 [annotate] [blame] [check-ins using] [diff]

2010-06-13
17:42
Fix initialization of mutations in OF{Array,Dictionary}Enumerator. file: [181efadcb0] check-in: [e0d581d524] user: js, branch: trunk, size: 6660 [annotate] [blame] [check-ins using] [diff]
16:50
Work around a stupid gcc bug. file: [54c48d5def] check-in: [8c23ddc0a0] user: js, branch: trunk, size: 6630 [annotate] [blame] [check-ins using] [diff]
2010-04-17
22:27
New ivar naming convention.

ivars are now named like this: thisIsAnIVar. If an accessor exists for
the ivar, the ivar is named like the accessor. This is required for
@property to work. file: [af5a656bb6] check-in: [37db8f0fb3] user: js, branch: trunk, size: 6631 [annotate] [blame] [check-ins using] [diff]

16:09
Give the methods in OFNumber better names. file: [9a33d23f86] check-in: [2517f18272] user: js, branch: trunk, size: 6639 [annotate] [blame] [check-ins using] [diff]
15:46
Don't return self where not necessary, return void or something useful. file: [00e1708140] check-in: [062a052b50] user: js, branch: trunk, size: 6647 [annotate] [blame] [check-ins using] [diff]
13:44
Improve performance of OFArray's +[arrayWithCArray:]. file: [f9679701a3] check-in: [8c4adb2599] user: js, branch: trunk, size: 6656 [annotate] [blame] [check-ins using] [diff]
2010-03-05
11:52
Merge a few changesets from the default branch into the 0.2 branch.

Changesets:
* b95fcaa6d694
* 804c68d222b4
* da8cd738da3d
* 1109d5ce3419
* d03f5c1ca95d
* 2a7017722165
* 4fccdc79eeb7
* d228149fbc04
* 8782d412a4a6 file: [323e66f686] check-in: [b91a8283fe] user: js, branch: 0.2, size: 6055 [annotate] [blame] [check-ins using] [diff]

2010-02-19
16:36
Update copyright. file: [89b8c0adc9] check-in: [42886185fd] user: js, branch: trunk, size: 6467 [annotate] [blame] [check-ins using] [diff]
2010-02-11
14:58
Documentation improvements. file: [31cc237dd8] check-in: [72caeab860] user: js, branch: trunk, size: 6467 [annotate] [blame] [check-ins using] [diff]
2010-02-07
12:40
Add +[arrayWithCArray:length:] to OFArray. file: [752a63309a] check-in: [bf310bcc5d] user: js, branch: trunk, size: 6435 [annotate] [blame] [check-ins using] [diff]
2010-02-05
14:00
Small optimization for -[componentsJoinedByString:]. file: [cfc59d89e5] check-in: [0ccbebce04] user: js, branch: trunk, size: 6021 [annotate] [blame] [check-ins using] [diff]
2010-02-02
18:58
Rename OFMacros.h to macros.h, as it's not a class. file: [8b2d803278] check-in: [832188d759] user: js, branch: trunk, size: 5977 [annotate] [blame] [check-ins using] [diff]
2010-01-30
15:47
Make OFEnumerator more general, implement it for OFArray & OFDictionary. file: [56c9de1a04] check-in: [daae7ffbf3] user: js, branch: trunk, size: 5979 [annotate] [blame] [check-ins using] [diff]
2010-01-16
15:05
Reduce dependencies between headers. file: [fbda4dec52] check-in: [1433aef0d0] user: js, branch: trunk, size: 5170 [annotate] [blame] [check-ins using] [diff]
14:43
Remove mutation methods from immutable classes' interfaces. file: [40a8b278df] check-in: [1348a32d47] user: js, branch: trunk, size: 5125 [annotate] [blame] [check-ins using] [diff]
2010-01-03
18:28
Implement fast enumeration for OFArray. file: [368e6650a6] check-in: [45869ac8ac] user: js, branch: trunk, size: 6479 [annotate] [blame] [check-ins using] [diff]
17:28
Fix missing retain + autorelease on return. file: [7844cdc05f] check-in: [0d9f732af1] user: js, branch: trunk, size: 6155 [annotate] [blame] [check-ins using] [diff]
2009-12-17
11:26
Add -[replaceObject:withObject:] and others to OFMutableArray. file: [1587b7303a] check-in: [c0326c7cc5] user: js, branch: trunk, size: 6195 [annotate] [blame] [check-ins using] [diff]
2009-12-03
11:51
Add -[componentsJoinedByString:] to OFArray. file: [29164ac41a] check-in: [fb651428aa] user: js, branch: trunk, size: 5731 [annotate] [blame] [check-ins using] [diff]
2009-12-02
20:02
Introduce some consistency when to use OFObject* and when to use id. file: [3d6ca823bb] check-in: [c7ab3a46d1] user: js, branch: trunk, size: 5128 [annotate] [blame] [check-ins using] [diff]
09:38
Add -[addObject:atIndex:] to OFArray. file: [bf2f167ef1] check-in: [806b5b24db] user: js, branch: trunk, size: 5073 [annotate] [blame] [check-ins using] [diff]
2009-11-28
20:48
Add -[removeObject:] and -[removeObjectIdenticalTo:] to OFMutableArray. file: [da98a6238c] check-in: [bd9f5d90ae] user: js, branch: trunk, size: 4932 [annotate] [blame] [check-ins using] [diff]
20:29
Add -[indexOfObject:] and -[indexOfObjectIdenticalTo:] to OFArray. file: [e74beec694] check-in: [f1e3f965fc] user: js, branch: trunk, size: 4718 [annotate] [blame] [check-ins using] [diff]
2009-11-26
09:50
Add -[firstItem] to OFDataArray and -[firstObject] to OFArray. file: [4ee8184863] check-in: [4d523be264] user: js, branch: trunk, size: 4275 [annotate] [blame] [check-ins using] [diff]
2009-11-22
15:44
Add -[removeObjectAtIndex] and -[removeNObjects:atIndex:] to OFArray. file: [f37fb0932b] check-in: [0b6fc2523a] user: js, branch: trunk, size: 4170 [annotate] [blame] [check-ins using] [diff]
2009-11-09
22:45
Rename libobjfw to ObjFW. file: [70a48a8714] check-in: [a3cc34b139] user: js, branch: trunk, size: 3901 [annotate] [blame] [check-ins using] [diff]
2009-10-16
10:46
Implement -[hash] for OFArray. file: [cf7588aa90] check-in: [deea33a4d9] user: js, branch: trunk, size: 3904 [annotate] [blame] [check-ins using] [diff]
2009-10-05
18:56
Rename OFArray's and OFDataArray's -[data] to -[cArray]. file: [04cd287505] check-in: [2f1933eb24] user: js, branch: trunk, size: 3550 [annotate] [blame] [check-ins using] [diff]
2009-09-30
15:01
Migration of OFDataArray tests to new testing framework. file: [717e5d1c5c] check-in: [e7a372fea9] user: js, branch: trunk, size: 3538 [annotate] [blame] [check-ins using] [diff]
2009-08-10
18:25
Correctly handle lastObject / lastItem if the array is empty. file: [3bf6c09d87] check-in: [bc012259a9] user: js, branch: trunk, size: 3492 [annotate] [blame] [check-ins using] [diff]
2009-07-19
14:05
Rename andFoo: to foo: in all methods. file: [2201996b2e] check-in: [4eae61a78f] user: js, branch: trunk, size: 3455 [annotate] [blame] [check-ins using] [diff]
2009-06-30
12:07
A few renames in OFObject, see details.

* +[conformsTo:] to +[conformsToProtocol:].
* -[isKindOf:] to -[isKindOfClass:].
* -[respondsTo:] to -[respondsToSelector:].
* -[conformsTo:] to -[conformsToProtocol:].
* -[methodFor:] to -[methodForSelector:]. file: [88c47b37c1] check-in: [67bb344ba6] user: js, branch: trunk, size: 3462 [annotate] [blame] [check-ins using] [diff]

2009-06-09
20:10
Move documentation of mutating methods.
Mutating methods are now documented in the mutable class.
file: [37a3e697c0] check-in: [41974cf38d] user: js, branch: trunk, size: 3457 [annotate] [blame] [check-ins using] [diff]
2009-05-24
18:04
Always use #include "config.h" instead of #import "config.h". file: [7d64d3ae66] check-in: [94ea6848a8] user: js, branch: trunk, size: 3457 [annotate] [blame] [check-ins using] [diff]
2009-05-23
21:53
A few renames.

OFArray:
* -[add:] to -[addObject:].
* -[last] to -[lastObject].

OFAutoreleasePool:
* +[addToPool:] to +[addObjectToTopmostPool:].
* -[addToPool:] to -[addObject:].

OFDataArray:
* -[add:] to -[addItem:].
* -[last] to -[lastItem].

OFObject:
* -[addToMemoryPool:] to -[addItemToMemoryPool:]. file: [c29a774dc8] check-in: [526d04018d] user: js, branch: trunk, size: 3456 [annotate] [blame] [check-ins using] [diff]

16:50
A few renames in OFArray, OFDataArray and OFDictionary.

OFArray:
* Rename - object: to - objectAtIndex:.

OFDataArray:
* Rename - item: to - itemAtIndex:.

OFDictionary:
* Rename - get: to - objectForKey:.
* Rename - set:to: to - setObject:forKey:.
* Rename - remove: to - removeObjectForKey:. file: [dbe234c97f] check-in: [a29d403286] user: js, branch: trunk, size: 3424 [annotate] [blame] [check-ins using] [diff]

2009-05-18
22:09
Fix error handling in init methods in OFArray.

Actually, directly retaining them is required, as dealloc will release
them. file: [47830eac24] check-in: [cc6d2d3987] user: js, branch: trunk, size: 3410 [annotate] [blame] [check-ins using] [diff]

20:41
Add one more convenience method to OFArray. file: [9f48848034] check-in: [7107bd9906] user: js, branch: trunk, size: 3697 [annotate] [blame] [check-ins using] [diff]
19:08
Add - isEqual: for OFArray. file: [30af0ffa87] check-in: [66293c1fe8] user: js, branch: trunk, size: 3256 [annotate] [blame] [check-ins using] [diff]
18:52
- copy and - mutableCopy should never autorelease. file: [980f480064] check-in: [7fa61023b9] user: js, branch: trunk, size: 2912 [annotate] [blame] [check-ins using] [diff]
18:45
Only let - copy create an actual copy if necessary. file: [89d75719ec] check-in: [6ba395bacb] user: js, branch: trunk, size: 2905 [annotate] [blame] [check-ins using] [diff]
18:42
A few more convenience methods for OFArray. file: [39b19454f4] check-in: [b3a8c9c4dd] user: js, branch: trunk, size: 3109 [annotate] [blame] [check-ins using] [diff]
18:15
Introduce OFMutableCopying protocol. file: [bacc2fea00] check-in: [79e1893b40] user: js, branch: trunk, size: 1935 [annotate] [blame] [check-ins using] [diff]
17:50
Split OFArray into OFArray and OFMutableArray. file: [f1d02c7bd0] check-in: [163409967e] user: js, branch: trunk, size: 1678 [annotate] [blame] [check-ins using] [diff]
2009-05-13
20:31
Rename - free to - (void)dealloc. file: [14d672c6d1] check-in: [9e6dd00ef5] user: js, branch: trunk, size: 1833 [annotate] [blame] [check-ins using] [diff]
2009-05-07
12:55
Add - data for OFArray. file: [a36255520a] check-in: [eb6aafad32] user: js, branch: trunk, size: 1816 [annotate] [blame] [check-ins using] [diff]
2009-05-05
17:59
Rename - objects / - items in OFArray / OFDataArray to - count. file: [76eafae349] check-in: [64bc94cdb3] user: js, branch: trunk, size: 1777 [annotate] [blame] [check-ins using] [diff]
14:00
There is a good reason to return id and not OFObject*.

When using OFObject*, you have to cast to get rid of a warning when
calling methods on the returned object. file: [340e813c87] check-in: [9338313079] user: js, branch: trunk, size: 1779 [annotate] [blame] [check-ins using] [diff]

12:05
Rename OFArray to OFDataArray and add a new OFArray which stores objects.
Additionally, change OFAutoreleasePool to use the new OFArray.

And while at it, change #import <config.h> in some files to
#import "config.h". file: [37d0e0f0dd] check-in: [2a4aa05a84] user: js, branch: trunk, size: 1793 [annotate] [blame] [check-ins using] [diff]

2009-05-03
15:49
Remove multiply overflow check in OFArray - it's done by resizeMem. file: [09953b1423] check-in: [4eb87f934f] user: js, branch: trunk, size: 4797 [annotate] [blame] [check-ins using] [diff]
2009-05-01
18:15
Call [super free] on error in init methods.

Reason is that - free might free stuff which is allocated during the
initialization, which might not be allocated when an error occurred. file: [5aad2dc149] check-in: [e9d48d0beb] user: js, branch: trunk, size: 4872 [annotate] [blame] [check-ins using] [diff]

2009-04-26
12:44
A few renames in OFObject.

getMemWithSize: -> allocWithSize:
getMemForNItems:ofSize: -> allocNItems:withSize:
resizeMem:toNItems:ofSize: -> resizeMem:toNItems:withSize: file: [91667fe0ee] check-in: [e959fed010] user: js, branch: trunk, size: 4871 [annotate] [blame] [check-ins using] [diff]

2009-04-25
12:48
An item size of 0 is invalid for an array. file: [a4f78a390c] check-in: [70a65567df] user: js, branch: trunk, size: 4850 [annotate] [blame] [check-ins using] [diff]
2009-04-21
17:16
The if ((self = [super init])) construct isn't needed anymore. file: [02c5a4d259] check-in: [d87df02e8b] user: js, branch: trunk, size: 4738 [annotate] [blame] [check-ins using] [diff]
2009-04-19
20:34
Use isa instead of [self class].

Since we don't use Object anymore and define isa in OFObject, we can
rely on it. file: [3315367580] check-in: [139591afe1] user: js, branch: trunk, size: 4758 [annotate] [blame] [check-ins using] [diff]

2009-02-27
11:17
Add - hash for OFArray and OFString, main implementation in OFMacros. file: [b65574e4bc] check-in: [ffd26c8238] user: js, branch: trunk, size: 4839 [annotate] [blame] [check-ins using] [diff]
2009-02-14
17:26
Always use #include for libc headers due to glibc being broken.
Do the same for win32 headers, just in case. They should work with
#import, but you never know ;).
file: [3ecf264b3e] check-in: [029511474c] user: js, branch: trunk, size: 4649 [annotate] [blame] [check-ins using] [diff]
17:08
Big diff, see details.

* Add OFComparable protocol.
* Add OFInvalidArgument exception - needs that sel_getName vs.
sel_get_name stuff again, therefore reintroduce it.
* Implement proper copy method for OFString and OFArray.
* Add isEqual: and compare: for OFString and OFArray. file: [99432f285e] check-in: [61a6ac873a] user: js, branch: trunk, size: 4645 [annotate] [blame] [check-ins using] [diff]

2009-01-24
20:28
[self alloc] isn't a good idea with the new API.
The reason is that a derived class, for example derived from OFArray,
would not return an OFArray when + arrayWithItemSize is called.
file: [0b15af59f1] check-in: [7feac9e596] user: js, branch: trunk, size: 3480 [annotate] [blame] [check-ins using] [diff]
15:24
Adjust API to introduction of OFAutoreleasePool. file: [ea5c3825ad] check-in: [1496808b81] user: js, branch: trunk, size: 3477 [annotate] [blame] [check-ins using] [diff]
2009-01-07
20:49
For some reason, proper overflow checks were only in OFBigArray. file: [5b2194bc15] check-in: [f724e6d794] user: js, branch: trunk, size: 3356 [annotate] [blame] [check-ins using] [diff]
2009-01-05
00:59
Update copyright. file: [e903248725] check-in: [f1b749d113] user: js, branch: trunk, size: 3281 [annotate] [blame] [check-ins using] [diff]
2009-01-04
01:40
Clean up exceptions. file: [076c9e7d74] check-in: [bb1fe89478] user: js, branch: trunk, size: 3274 [annotate] [blame] [check-ins using] [diff]
2008-12-23
01:57
Check for SIZE_T, fallback to SIZE_T_MAX or define as (size_t)-1. file: [c7e408a064] check-in: [c180b76560] user: js, branch: trunk, size: 3225 [annotate] [blame] [check-ins using] [diff]
2008-12-13
19:25
Initial attempt to port to win32. file: [9150d2b2a3] check-in: [142572f90b] user: js, branch: trunk, size: 3206 [annotate] [blame] [check-ins using] [diff]
2008-12-10
17:53
Always use [self alloc] in + new.
This way, derivated classes are not forced to always override + new.
file: [e1c0bd1b7d] check-in: [f48ee629e3] user: js, branch: trunk, size: 3176 [annotate] [blame] [check-ins using] [diff]
2008-12-09
17:36
Don't use - raise anymore, but @throw.
- raise was only because at first, exceptions were self-raising, but
this was later changed so they had to be risen manually. - rise was
introduced for that, but it would've been better to use @throw
directly. Thus, this change now.
file: [190e0d7eea] check-in: [d88aec8e95] user: js, branch: trunk, size: 3265 [annotate] [blame] [check-ins using] [diff]
2008-11-30
15:17
Clean up imports. file: [c0503870b0] check-in: [4b8666fe15] user: js, branch: trunk, size: 3272 [annotate] [blame] [check-ins using] [diff]
2008-11-08
17:57
Add missing add: for OFBigArray and fix calculation of nsize. file: [b60d88894a] check-in: [ae28fbf3ca] user: js, branch: trunk, size: 3253 [annotate] [blame] [check-ins using] [diff]
2008-11-07
20:25
Don't allocate 2 pages if we need exactly pagesize. file: [84ed4421e5] check-in: [252ecc91a1] user: js, branch: trunk, size: 2848 [annotate] [blame] [check-ins using] [diff]
17:25
Implementation for OFBigArray. file: [c474c9a944] check-in: [59f16e8a3d] user: js, branch: trunk, size: 2830 [annotate] [blame] [check-ins using] [diff]
2008-11-05
17:13
Start documenting stuff. file: [97782e7ade] check-in: [2690e9848f] user: js, branch: trunk, size: 2058 [annotate] [blame] [check-ins using] [diff]
16:11
OFOverflowException -> OFOutOfRangeException. file: [806072ba44] check-in: [3577c0d81c] user: js, branch: trunk, size: 1968 [annotate] [blame] [check-ins using] [diff]
2008-11-02
02:09
Added -data for OFArray & one new test. file: [95cb756c66] check-in: [61fc89489a] user: js, branch: trunk, size: 2022 [annotate] [blame] [check-ins using] [diff]
00:42
Implementation for OFArray. file: [c20f86a7ff] check-in: [a1e066138c] user: js, branch: trunk, size: 1989 [annotate] [blame] [check-ins using] [diff]
2008-11-01
21:27
Add interface for OFBigArray. file: [148d16c543] check-in: [365925e363] user: js, branch: trunk, size: 1272 [annotate] [blame] [check-ins using] [diff]
2008-10-29
17:29
Added: Add getMemForNItems:withSize: & resizeMem:toNItems:withSize: in OFObject

Additionally, interface for OFArray. file: [4b7e261931] check-in: [49859c2bcc] user: js, branch: trunk, size: 958 [annotate] [blame] [check-ins using]