ObjFW  History of src/OFList.h of merge-in:c97d590

History of the file that is called src/OFList.h at check-in merge-in:c97d590

2024-04-03
02:16
[9d597032f3] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 6097) [annotate] [blame] [check-ins using] [diff]
2024-02-03
08:53
[4f099b2699] part of check-in [19f3948a26] Fix typos in documentation found by spell checker (check-in: [19f3948a26] user: js, branch: 1.0, size: 5889) [annotate] [blame] [check-ins using] [diff]
08:49
[cf0e346436] part of check-in [f97dc452b1] Fix typos in documentation found by spell checker (check-in: [f97dc452b1] user: js, branch: trunk, size: 5889) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
[72f0b22ce8] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 5885) [annotate] [blame] [check-ins using] [diff]
2023-04-10
19:22
[e9e426b5c4] part of check-in [6ce0093f8d] 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. (check-in: [6ce0093f8d] user: js, branch: trunk, size: 5885) [annotate] [blame] [check-ins using] [diff]

2023-01-06
09:04
[58011ed2c8] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 5934) [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
[f2ae387af6] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 5934) [annotate] [blame] [check-ins using] [diff]
2021-05-09
14:45
[e9b48b38c5] part of check-in [3c88df0ce4] Merge trunk into branch "amiga-library"

All necessary changes to adjust for the changes made in trunk are
included in the merge commit. (check-in: [3c88df0ce4] user: js, branch: amiga-library, size: 5934) [annotate] [blame] [check-ins using] [diff]

2021-04-29
23:30
[52cea62659] part of check-in [026f74d7a7] Disable Clang's incorrect -Wdocumentation warning (check-in: [026f74d7a7] user: js, branch: trunk, size: 5884) [annotate] [blame] [check-ins using] [diff]
23:24
[d971682e08] part of check-in [2fcf5a3052] Clean up struct and enum typedefs

With TYPEDEF_HIDES_STRUCT set, Doxygen properly handles anonymous
structs and enums that are typedef'd. (check-in: [2fcf5a3052] user: js, branch: trunk, size: 5581) [annotate] [blame] [check-ins using] [diff]

22:56
[17d81c5b14] part of check-in [5e985aa805] Fix Doxygen warnings (check-in: [5e985aa805] user: js, branch: trunk, size: 5557) [annotate] [blame] [check-ins using] [diff]
2021-04-25
16:48
[0e994cc065] part of check-in [8573ef86c6] Make OFListItem opaque (check-in: [8573ef86c6] user: js, branch: trunk, size: 5567) [annotate] [blame] [check-ins using] [diff]
2021-04-17
05:45
[0c075514d1] part of check-in [5b57beeba6] Rename all types in OFList (check-in: [5b57beeba6] user: js, branch: new-naming-convention, size: 4947) [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
[36d06c646e] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 5142) [annotate] [blame] [check-ins using] [diff]
2020-10-03
11:35
[75efc796d9] part of check-in [163a4a5a2e] Use /** */ instead of /*! */ for documentation (check-in: [163a4a5a2e] user: js, branch: trunk, size: 5231) [annotate] [blame] [check-ins using] [diff]
2020-09-26
21:58
[e1e888bcda] part of check-in [ef614a225d] Don't require __COUNTER__ for OF_RESERVE_IVARS

__COUNTER__ does not exist in GCC 4.2, and Apple GCC 4.2 is still the
newest compiler available for macOS 10.5. (check-in: [ef614a225d] user: js, branch: trunk, size: 5231) [annotate] [blame] [check-ins using] [diff]

2020-01-02
01:51
[154ed652ed] part of check-in [c7f0229795] Update copyright (check-in: [c7f0229795] user: js, branch: trunk, size: 5223) [annotate] [blame] [check-ins using] [diff]
2019-09-29
20:53
[4ff6f82ebc] part of check-in [e0a330b377] Reduce ivar scopes (check-in: [e0a330b377] user: js, branch: trunk, size: 5220) [annotate] [blame] [check-ins using] [diff]
19:35
[c1be030244] part of check-in [496695d778] Either restrict subclassing or reserve ivar space

This allows ABI stability with the fragile ABI. (check-in: [496695d778] user: js, branch: trunk, size: 5495) [annotate] [blame] [check-ins using] [diff]

2019-01-03
19:13
[6b57b93ef4] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 5474) [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
[6271761707] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 5468) [annotate] [blame] [check-ins using] [diff]
2017-11-18
18:50
[a5f03851fb] part of check-in [cc3ad3ddd3] Documentation: Use @brief for all properties (check-in: [cc3ad3ddd3] user: js, branch: trunk, size: 5445) [annotate] [blame] [check-ins using] [diff]
2017-10-29
21:58
[767ebca506] part of check-in [f3ccf14461] Convert methods to properties where appropriate

This improves Swift compatibility. (check-in: [f3ccf14461] user: js, branch: trunk, size: 5417) [annotate] [blame] [check-ins using] [diff]

2017-10-17
00:33
[9a9431e042] part of check-in [2f4e0df8be] 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. (check-in: [2f4e0df8be] user: js, branch: trunk, size: 5692) [annotate] [blame] [check-ins using] [diff]

2017-09-28
23:02
[2bcd2e7a45] part of check-in [2de9660312] Enable -Wnullable-to-nonnull-conversion and adjust (check-in: [2de9660312] user: js, branch: trunk, size: 5679) [annotate] [blame] [check-ins using] [diff]
2017-09-26
21:53
[ebae885803] part of check-in [52011fbfd6] Many nullability fixes (check-in: [52011fbfd6] user: js, branch: trunk, size: 5697) [annotate] [blame] [check-ins using] [diff]
00:02
[56e2b65e10] part of check-in [3da9426ea5] Fix a few missing nullable (check-in: [3da9426ea5] user: js, branch: trunk, size: 5663) [annotate] [blame] [check-ins using] [diff]
2017-06-05
18:56
[156b26bb39] part of check-in [4b6dfe02f2] Doxyfile: Add missing defines (check-in: [4b6dfe02f2] user: js, branch: trunk, size: 5634) [annotate] [blame] [check-ins using] [diff]
2017-05-13
16:29
[c326019649] part of check-in [f663d40cbd] Also use nonatomic for non-object properties (check-in: [f663d40cbd] user: js, branch: trunk, size: 5646) [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
[feabf2e6ec] part of check-in [4af49a13c3] Small code style change

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

2017-01-09
17:36
[f3204f0892] part of check-in [44f45c2e35] Update copyright

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

2016-01-03
00:43
[781146c205] part of check-in [cec0f072f8] Update copyright

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

00:41
[253b5e16aa] part of check-in [2a27cf3000] Update copyright

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

2015-11-29
11:43
[1f21a78f7e] part of check-in [48980f2297] Make properties a requirement and clean up code

This increases the required GCC version from 4.0 to 4.6 (exception:
Apple GCC, which already supports this with >= 4.0 starting with OS X
10.5). Since even GCC 4.6 is really old by now, there is no point in
still supporting something even older and making the code ugly because
of that. While some hardware and OS support was dropped from GCC 4.6
compared to GCC 4.0, there is nothing in there that would be an
interesting target with the exception of BeOS maybe - but a port to BeOS
can also be achieved using the Haiku support. The other dropped OSes are
mostly old versions of OSes while newer ones are still being supported
(and those newer versions of those OSes still support the same
hardware). (check-in: [48980f2297] user: js, branch: trunk, size: 5595) [annotate] [blame] [check-ins using] [diff]

2015-11-28
19:47
[1c84feb5eb] part of check-in [650b4be224] Minor documentation improvements (check-in: [650b4be224] user: js, branch: trunk, size: 5847) [annotate] [blame] [check-ins using] [diff]
2015-06-17
22:11
[2c4a93e677] part of check-in [80e1a9655b] Add OF_NULLABLE_PROPERTY

This is necessary to make GCC (>= 4.6 and Apple GCC) happy as they don't
like the list of property attributes ending in a comma. (check-in: [80e1a9655b] user: js, branch: trunk, size: 5839) [annotate] [blame] [check-ins using] [diff]

2015-06-14
10:45
[5074e7258e] part of check-in [b7097a67b6] Add OF_NONNULL / OF_NULLABLE and use that instead

Using __nonnull directly doesn't work on systems using glibc, as glibc
defines __nonnull as a parameterized define. While this does not fix the
problem of Clang introducing __nonnull even though it conflicts with
glibc, this at least means it's possible again to compile things with
versions of Clang that don't support __nonnull on systems with glibc. (check-in: [b7097a67b6] user: js, branch: trunk, size: 5817) [annotate] [blame] [check-ins using] [diff]

2015-06-13
22:26
[badebf99e1] part of check-in [9e76144ef8] Add support for and use the new nullability (check-in: [9e76144ef8] user: js, branch: trunk, size: 5817) [annotate] [blame] [check-ins using] [diff]
2015-06-12
23:59
[41ad30e5c0] part of check-in [5329fe7c1a] Add support for and use the new ObjC generics (check-in: [5329fe7c1a] user: js, branch: trunk, size: 5695) [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
[f98a3d7c30] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 4937) [annotate] [blame] [check-ins using] [diff]
2014-11-16
21:35
[102c06c2e5] part of check-in [4c2dbb263c] Fix two typos in documentation (check-in: [4c2dbb263c] user: js, branch: trunk, size: 4931) [annotate] [blame] [check-ins using] [diff]
2014-02-18
18:50
[84a91cc02c] part of check-in [246cfe0807] Documentation: Show correct imports (check-in: [246cfe0807] user: js, branch: trunk, size: 4931) [annotate] [blame] [check-ins using] [diff]
2014-01-04
00:24
[0d8079f77c] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 4832) [annotate] [blame] [check-ins using] [diff]
2013-03-04
17:20
[04a5830c4d] part of check-in [c5ef582958] Replace BOOL with bool.

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

2013-02-12
18:22
[723cbad907] part of check-in [e40729d406] Prefix all ivars with an underscore. (check-in: [e40729d406] user: js, branch: trunk, size: 4826) [annotate] [blame] [check-ins using] [diff]
2013-01-14
19:02
[f54b09d95a] part of check-in [30ab311006] Documentation improvements. (check-in: [30ab311006] user: js, branch: trunk, size: 4818) [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
[a33374dc7f] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 4802) [annotate] [blame] [check-ins using] [diff]
2012-10-28
12:38
[f7c36c6b33] part of check-in [1ad9565253] Switch to a headerdoc-compatible doc format. (check-in: [1ad9565253] user: js, branch: trunk, size: 4796) [annotate] [blame] [check-ins using] [diff]
2012-10-09
15:07
[d4ed52a4cc] part of check-in [fb515e8e24] Make use of instancetype. (check-in: [fb515e8e24] user: js, branch: trunk, size: 4796) [annotate] [blame] [check-ins using] [diff]
2012-09-11
12:10
[2db9ff8a81] part of check-in [2b5d03d8ea] Add -[OFList removeAllObjects]. (check-in: [2b5d03d8ea] user: js, branch: trunk, size: 4782) [annotate] [blame] [check-ins using] [diff]
2012-09-09
14:36
[1e7516e1b8] part of check-in [c0f28cf861] Add OFSortedList. (check-in: [c0f28cf861] user: js, branch: trunk, size: 4702) [annotate] [blame] [check-ins using] [diff]
2012-08-19
21:27
[edc02fcf57] part of check-in [bab9dd49fe] Add more ARC type qualifiers. (check-in: [bab9dd49fe] user: js, branch: trunk, size: 4702) [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
[04386cad3b] part of check-in [ce70e17b38] Update copyright. (check-in: [ce70e17b38] user: js, branch: trunk, size: 4684) [annotate] [blame] [check-ins using] [diff]
2011-07-19
23:28
[7dc972a683] part of check-in [ab71981cda] Make OFFastEnumeration part of OFCollection. (check-in: [ab71981cda] user: js, branch: trunk, size: 4678) [annotate] [blame] [check-ins using] [diff]
2011-07-17
16:38
[c4c264f1d5] part of check-in [8ff55bf218] Remove -[containsObjectIdenticalTo:] from OFCopying.

It is still implemented by all classes implementing OFCollection so far,
but new classes are not required to implement it anymore.

This is required to add OFCountedSet later, which can't support it. (check-in: [8ff55bf218] user: js, branch: trunk, size: 4701) [annotate] [blame] [check-ins using] [diff]

2011-05-22
00:44
[7e6619efad] part of check-in [fe0aa66897] Add -[firstObject] and -[lastObject] to OFList. (check-in: [fe0aa66897] user: js, branch: trunk, size: 4403) [annotate] [blame] [check-ins using] [diff]
2011-05-08
20:44
[2f5f6769f6] part of check-in [046abd074d] Add support for serialization to OFList. (check-in: [046abd074d] user: js, branch: trunk, size: 3952) [annotate] [blame] [check-ins using] [diff]
17:19
[36f81a72ce] part of check-in [242b1ccd71] More documentation improvements. (check-in: [242b1ccd71] user: js, branch: trunk, size: 3903) [annotate] [blame] [check-ins using] [diff]
2011-04-22
20:19
[e94ed80ca6] part of check-in [e76a7f52c1] More style improvements. (check-in: [e76a7f52c1] user: js, branch: trunk, size: 3706) [annotate] [blame] [check-ins using] [diff]
2011-03-27
17:51
[3cd365a47f] part of check-in [f072e1a338] Pass the causing object for OFEnumerationMutationExceptions. (check-in: [f072e1a338] user: js, branch: trunk, size: 3660) [annotate] [blame] [check-ins using] [diff]
2011-01-01
20:19
[5d36c42d1f] part of check-in [da6b3d26cb] Change license. (check-in: [da6b3d26cb] user: js, branch: trunk, size: 3688) [annotate] [blame] [check-ins using] [diff]
2010-12-10
11:21
[4d47514ce0] part of check-in [fada60d54c] Documentation fixes. (check-in: [fada60d54c] user: js, branch: trunk, size: 3432) [annotate] [blame] [check-ins using] [diff]
2010-09-06
13:47
[c32fd13d67] part of check-in [2cb79baae4] Make OFList conform to OFCollection and OFFastEnumeration protocol. (check-in: [2cb79baae4] user: js, branch: trunk, size: 3453) [annotate] [blame] [check-ins using] [diff]
2010-09-05
23:19
[12c31cb041] part of check-in [e2b06423e0] 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. (check-in: [e2b06423e0] user: js, branch: trunk, size: 3148) [annotate] [blame] [check-ins using] [diff]

2010-04-23
13:10
[44738d18b3] part of check-in [0ea8e1ef09] Nicer OFList API. (check-in: [0ea8e1ef09] user: js, branch: trunk, size: 3176) [annotate] [blame] [check-ins using] [diff]
2010-04-17
23:04
[ed49261cf1] part of check-in [f3e7291fad] Add properties to interfaces. Only used if supported by the compiler. (check-in: [f3e7291fad] user: js, branch: trunk, size: 3070) [annotate] [blame] [check-ins using] [diff]
15:46
[498c3c68bc] part of check-in [062a052b50] Don't return self where not necessary, return void or something useful. (check-in: [062a052b50] user: js, branch: trunk, size: 2910) [annotate] [blame] [check-ins using] [diff]
2010-02-19
16:36
[17a82cf29c] part of check-in [42886185fd] Update copyright. (check-in: [42886185fd] user: js, branch: trunk, size: 2904) [annotate] [blame] [check-ins using] [diff]
2010-02-11
14:58
[e8baae6cab] part of check-in [72caeab860] Documentation improvements. (check-in: [72caeab860] user: js, branch: trunk, size: 2904) [annotate] [blame] [check-ins using] [diff]
2010-02-10
20:30
[dd11b8683b] part of check-in [6a65366467] Documentation improvements. (check-in: [6a65366467] user: js, branch: trunk, size: 2872) [annotate] [blame] [check-ins using] [diff]
2009-12-02
20:02
[d1b99d4de4] part of check-in [c7ab3a46d1] Introduce some consistency when to use OFObject* and when to use id. (check-in: [c7ab3a46d1] user: js, branch: trunk, size: 2872) [annotate] [blame] [check-ins using] [diff]
2009-11-09
22:45
[4d2ba9daa2] part of check-in [a3cc34b139] Rename libobjfw to ObjFW. (check-in: [a3cc34b139] user: js, branch: trunk, size: 2844) [annotate] [blame] [check-ins using] [diff]
2009-09-16
16:22
[677855ce18] part of check-in [a99f512a4a] Rework OFAutoreleasePool and remove now unnecessary hack from OFList. (check-in: [a99f512a4a] user: js, branch: trunk, size: 2847) [annotate] [blame] [check-ins using] [diff]
2009-09-08
16:06
[d42967ddf0] part of check-in [bbf1f79b8f] New OFDictionary implementation and removal of a hack in OFList.

The new implementation is easier to use as it does automatic resizing,
but therefore it's not realtime-capable anymore. The new implementation
should also be a little bit faster.

I decided to change the implementation as only very few need a
realtime-capable dictionary and those few will most likely write their
own implementation for their specific case anyway.

As the new implementation no longer uses OFList, this also made it
possible to remove a hack from OFList. (check-in: [bbf1f79b8f] user: js, branch: trunk, size: 3047) [annotate] [blame] [check-ins using] [diff]

2009-08-27
20:40
[03977d0bbb] part of check-in [768108a960] Cache the number of items in an OFList. (check-in: [768108a960] user: js, branch: trunk, size: 3507) [annotate] [blame] [check-ins using] [diff]
2009-08-26
19:40
[493af3623a] part of check-in [146db53e4a] Improve documentation. (check-in: [146db53e4a] user: js, branch: trunk, size: 3606) [annotate] [blame] [check-ins using] [diff]
2009-06-29
12:33
[fdd2b6ed1c] part of check-in [24ecf55297] Changes to OFDictionary, OFIterator and OFList - see details.

OFDictionary:
* More optimized way to internally store the data.
* Faster resizing of dictionaries (no rehashing anymore).

OFIterator:
* Return a key/object pair rather than first the key and then the
object.

OFList:
* Support for list objects with a different size so you can have your
own list object structs. (check-in: [24ecf55297] user: js, branch: trunk, size: 3309) [annotate] [blame] [check-ins using] [diff]

2009-05-20
19:59
[8727a6856e] part of check-in [5d190947a7] Implement OFCopying protocol for OFList. (check-in: [5d190947a7] user: js, branch: trunk, size: 2848) [annotate] [blame] [check-ins using] [diff]
2009-05-19
16:51
[ea241d3479] part of check-in [7f7e9715e1] Add - isEqual: for OFList. (check-in: [7f7e9715e1] user: js, branch: trunk, size: 2836) [annotate] [blame] [check-ins using] [diff]
2009-05-04
17:54
[01b97195c0] part of check-in [59ab431af4] Add - items to OFList. (check-in: [59ab431af4] user: js, branch: trunk, size: 2836) [annotate] [blame] [check-ins using] [diff]
2009-03-08
16:06
[08eab0576a] part of check-in [43e4d25ca7] Rename initWithRetainAndReleaseEnabled to initWithoutRetainAndRelease. (check-in: [43e4d25ca7] user: js, branch: trunk, size: 2650) [annotate] [blame] [check-ins using] [diff]
2009-01-24
15:24
[d92e163846] part of check-in [1496808b81] Adjust API to introduction of OFAutoreleasePool. (check-in: [1496808b81] user: js, branch: trunk, size: 2730) [annotate] [blame] [check-ins using] [diff]
2009-01-06
22:38
[439fd52763] part of check-in [dfc10dbeb8] Use OFList and OFArray in OFAutoreleasePool.
This reduces code duplication and looks far better.
(check-in: [dfc10dbeb8] user: js, branch: trunk, size: 2677) [annotate] [blame] [check-ins using] [diff]
2009-01-05
22:18
[8e66167c8d] part of check-in [8ab6561840] Reworked OFList. (check-in: [8ab6561840] user: js, branch: trunk, size: 2397) [annotate] [blame] [check-ins using] [diff]
00:59
[e40d20478e] part of check-in [f1b749d113] Update copyright. (check-in: [f1b749d113] user: js, branch: trunk, size: 1125) [annotate] [blame] [check-ins using] [diff]
2008-12-20
14:41
[bd47bd6017] part of check-in [b2c9f574cb] Don't put void* in lists, but objects. (check-in: [b2c9f574cb] user: js, branch: trunk, size: 1118) [annotate] [blame] [check-ins using] [diff]
2008-11-07
14:29
[304e257df3] part of check-in [e8e45975df] Everything should be documented now. (check-in: [e8e45975df] user: js, branch: trunk, size: 1127) [annotate] [blame] [check-ins using] [diff]
2008-10-26
20:54
[71b17c2d3e] part of check-in [8ae4c59cd6] Return self when we have no return value. This allows nesting. (check-in: [8ae4c59cd6] user: js, branch: trunk, size: 548) [annotate] [blame] [check-ins using] [diff]
2008-10-09
00:25
[f955344801] part of check-in [7a49441656] Multiple changes, see details.

* Use config.h.
* Check whether to use sel_get_name or sel_getName.
* Rename freeWithData to freeIncludingData. (check-in: [7a49441656] user: js, branch: trunk, size: 560) [annotate] [blame] [check-ins using] [diff]

2008-09-14
15:29
[08759996d3] part of check-in [778be56179] Coding style. (check-in: [778be56179] user: js, branch: trunk, size: 555) [annotate] [blame] [check-ins using] [diff]
2008-09-12
13:25
Added: [93a96d7531] part of check-in [a580136c80] Initial import. (check-in: [a580136c80] user: js, branch: trunk, size: 578) [annotate] [blame] [check-ins using]