ObjFW  History of src/OFList.h of 86f8767eca8d0fb9

History of file src/OFList.h at check-in 86f8767eca8d0fb9

2025-01-01
12:58
Update copyright file: [925318b7a4] check-in: [9d802a786d] user: js branch: trunk, size: 6095
2024-06-17
21:08
Always use <ObjFW/ObjFW.h> in documentation file: [094deb7ff9] check-in: [164f2fb4bf] user: js branch: trunk, size: 6095
2024-04-03
02:16
Change license to LGPLv3 only file: [9d597032f3] check-in: [7413a728a7] user: js branch: trunk, size: 6097
2024-02-03
08:53
Fix typos in documentation found by spell checker file: [4f099b2699] check-in: [19f3948a26] user: js branch: 1.0, size: 5889
08:49
Fix typos in documentation found by spell checker file: [cf0e346436] check-in: [f97dc452b1] user: js branch: trunk, size: 5889
2024-01-02
17:17
Update copyright file: [72f0b22ce8] check-in: [26ddd2e4e4] user: js branch: trunk, size: 5885
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: [e9e426b5c4] check-in: [6ce0093f8d] user: js branch: trunk, size: 5885

2023-01-06
09:04
Update copyright file: [58011ed2c8] check-in: [8939cbdb52] user: js branch: trunk, size: 5934
2022-02-12
07:46
Update copyright file: [f2ae387af6] check-in: [1a86b8175b] user: js branch: trunk, size: 5934
2021-05-09
14:45
Merge trunk into branch "amiga-library"

All necessary changes to adjust for the changes made in trunk are
included in the merge commit. file: [e9b48b38c5] check-in: [3c88df0ce4] user: js branch: amiga-library, size: 5934

2021-04-29
23:30
Disable Clang's incorrect -Wdocumentation warning file: [52cea62659] check-in: [026f74d7a7] user: js branch: trunk, size: 5884
23:24
Clean up struct and enum typedefs

With TYPEDEF_HIDES_STRUCT set, Doxygen properly handles anonymous
structs and enums that are typedef'd. file: [d971682e08] check-in: [2fcf5a3052] user: js branch: trunk, size: 5581

22:56
Fix Doxygen warnings file: [17d81c5b14] check-in: [5e985aa805] user: js branch: trunk, size: 5557
2021-04-25
16:48
Make OFListItem opaque file: [0e994cc065] check-in: [8573ef86c6] user: js branch: trunk, size: 5567
2021-04-17
05:45
Rename all types in OFList file: [0c075514d1] check-in: [5b57beeba6] user: js branch: new-naming-convention, size: 4947
2021-01-02
22:04
Update copyright file: [36d06c646e] check-in: [374e1a1bfa] user: js branch: trunk, size: 5142
2020-10-03
11:35
Use /** */ instead of /*! */ for documentation file: [75efc796d9] check-in: [163a4a5a2e] user: js branch: trunk, size: 5231
2020-09-26
21:58
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. file: [e1e888bcda] check-in: [ef614a225d] user: js branch: trunk, size: 5231

2020-01-02
01:51
Update copyright file: [154ed652ed] check-in: [c7f0229795] user: js branch: trunk, size: 5223
2019-09-29
20:53
Reduce ivar scopes file: [4ff6f82ebc] check-in: [e0a330b377] user: js branch: trunk, size: 5220
19:35
Either restrict subclassing or reserve ivar space

This allows ABI stability with the fragile ABI. file: [c1be030244] check-in: [496695d778] user: js branch: trunk, size: 5495

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

This improves Swift compatibility. file: [767ebca506] check-in: [f3ccf14461] user: js branch: trunk, size: 5417

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: [9a9431e042] check-in: [2f4e0df8be] user: js branch: trunk, size: 5692

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

Casts are now written like types in variable declarations. file: [feabf2e6ec] check-in: [4af49a13c3] user: js branch: trunk, size: 5616

2017-01-09
17:36
Update copyright

Forgot to add 2017, even though I already did quite some changes in
2017. file: [f3204f0892] check-in: [44f45c2e35] user: js branch: trunk, size: 5605

2016-01-03
00:43
Update copyright

While at it, also update the mail address. file: [781146c205] check-in: [cec0f072f8] user: js branch: 0.8, size: 5843

00:41
Update copyright

While at it, also update the mail address. file: [253b5e16aa] check-in: [2a27cf3000] user: js branch: trunk, size: 5599

2015-11-29
11:43
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). file: [1f21a78f7e] check-in: [48980f2297] user: js branch: trunk, size: 5595

2015-11-28
19:47
Minor documentation improvements file: [1c84feb5eb] check-in: [650b4be224] user: js branch: trunk, size: 5847
2015-06-17
22:11
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. file: [2c4a93e677] check-in: [80e1a9655b] user: js branch: trunk, size: 5839

2015-06-14
10:45
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. file: [5074e7258e] check-in: [b7097a67b6] user: js branch: trunk, size: 5817

2015-06-13
22:26
Add support for and use the new nullability file: [badebf99e1] check-in: [9e76144ef8] user: js branch: trunk, size: 5817
2015-06-12
23:59
Add support for and use the new ObjC generics file: [41ad30e5c0] check-in: [5329fe7c1a] user: js branch: trunk, size: 5695
2015-01-03
20:57
Update copyright file: [f98a3d7c30] check-in: [cfd374b906] user: js branch: trunk, size: 4937
2014-11-16
21:35
Fix two typos in documentation file: [102c06c2e5] check-in: [4c2dbb263c] user: js branch: trunk, size: 4931
2014-02-18
18:50
Documentation: Show correct imports file: [84a91cc02c] check-in: [246cfe0807] user: js branch: trunk, size: 4931
2014-01-04
00:24
Update copyright. file: [0d8079f77c] check-in: [3b97fc3cd9] user: js branch: trunk, size: 4832
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: [04a5830c4d] check-in: [c5ef582958] user: js branch: trunk, size: 4826

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

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

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

2009-08-27
20:40
Cache the number of items in an OFList. file: [03977d0bbb] check-in: [768108a960] user: js branch: trunk, size: 3507
2009-08-26
19:40
Improve documentation. file: [493af3623a] check-in: [146db53e4a] user: js branch: trunk, size: 3606
2009-06-29
12:33
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. file: [fdd2b6ed1c] check-in: [24ecf55297] user: js branch: trunk, size: 3309

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

* Use config.h.
* Check whether to use sel_get_name or sel_getName.
* Rename freeWithData to freeIncludingData. file: [f955344801] check-in: [7a49441656] user: js branch: trunk, size: 560

2008-09-14
15:29
Coding style. file: [08759996d3] check-in: [778be56179] user: js branch: trunk, size: 555
2008-09-12
13:25
Added: Initial import. file: [93a96d7531] check-in: [a580136c80] user: js branch: trunk, size: 578