ObjFW  History of src/OFMutableDictionary.h of 4bace0f852dc5ee4

History of the file that is called src/OFMutableDictionary.h at check-in 4bace0f852dc5ee4

2024-04-03
02:16
[529de7c130] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 4064) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
[30d990b8d9] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 3856) [annotate] [blame] [check-ins using] [diff]
2023-08-12
17:31
[dd4009e02f] part of check-in [4fa963805b] OFDictionary: Add designated initializers (check-in: [4fa963805b] user: js, branch: trunk, size: 3856) [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
[368ae1527e] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 3648) [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
[851a8f19f7] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 3648) [annotate] [blame] [check-ins using] [diff]
2021-04-17
03:21
[d2bbc1da30] part of check-in [c4e0e56fa3] Rename all blocks (check-in: [c4e0e56fa3] user: js, branch: new-naming-convention, size: 3648) [annotate] [blame] [check-ins using] [diff]
2021-03-07
02:36
[d0bf1761a1] part of check-in [a0fd103a0b] Style change: Allow more than 1 argument per line

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

2021-01-02
22:04
[995b885913] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 3666) [annotate] [blame] [check-ins using] [diff]
2020-10-03
11:35
[456cb78a11] part of check-in [163a4a5a2e] Use /** */ instead of /*! */ for documentation (check-in: [163a4a5a2e] user: js, branch: trunk, size: 3755) [annotate] [blame] [check-ins using] [diff]
2020-04-12
11:43
[ceac8e2f46] part of check-in [240eccca97] Fix all Doxygen warnings

Mostly because Doxygen fails to find references to things that *do*
exist. (check-in: [240eccca97] user: js, branch: trunk, size: 3755) [annotate] [blame] [check-ins using] [diff]

2020-01-02
01:51
[50c90d0e94] part of check-in [c7f0229795] Update copyright (check-in: [c7f0229795] user: js, branch: trunk, size: 3765) [annotate] [blame] [check-ins using] [diff]
2019-09-29
19:35
[e6550bad92] 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: 3788) [annotate] [blame] [check-ins using] [diff]

2019-06-20
23:36
[43070c71d1] part of check-in [d537543238] Document methods to override in class clusters (check-in: [d537543238] user: js, branch: trunk, size: 3762) [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
[7108d4387d] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 3594) [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
[fe01d72263] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 3588) [annotate] [blame] [check-ins using] [diff]
2017-11-16
23:42
[4bdbc2aa53] part of check-in [bb8de03577] OFMutableDictionary: Allow dict[key] = nil

-[setObject:forSubscriptedKey:] is supposed to support removing a key by
setting it to nil. (check-in: [bb8de03577] user: js, branch: trunk, size: 3565) [annotate] [blame] [check-ins using] [diff]

2017-10-17
00:33
[432341193d] 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: 3222) [annotate] [blame] [check-ins using] [diff]

2017-06-05
18:56
[6a5236f2f3] part of check-in [4b6dfe02f2] Doxyfile: Add missing defines (check-in: [4b6dfe02f2] user: js, branch: trunk, size: 3208) [annotate] [blame] [check-ins using] [diff]
2017-05-25
15:09
[6f52e16281] part of check-in [88a584a16f] -[OFMutableDictionary addEntiresFromDictionary:] (check-in: [88a584a16f] user: js, branch: trunk, size: 3236) [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
[50af542eae] 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: 3002) [annotate] [blame] [check-ins using] [diff]

2017-01-09
17:36
[98bf6cee07] 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: 3004) [annotate] [blame] [check-ins using] [diff]

2016-06-05
14:32
[549070ec8e] part of check-in [cbacea7ca3] Implement Key Value Coding for OFDictionary

If the key starts with an @, the @ is stripped and the super method is
called. Otherwise, this is equivalent to -[objectForKey:] /
-[setValue:forKey:]. (check-in: [cbacea7ca3] user: js, branch: trunk, size: 3374) [annotate] [blame] [check-ins using] [diff]

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

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

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

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

2015-11-21
18:35
[cf03a53ce5] part of check-in [d526d938d7] Remove OF_NULLABLE / OF_NONNULL

Now that Clang switched to use _Nullable and _Nonnull instead of
__nullable / __nonnull, there is no longer a conflict with glibc, which
means we can just define _Nullable / _Nonnull to nothing if they are not
understood by the compiler (which did not work with __nullable /
__nonnull due to this conflict).

This also defines _Null_unspecified to nothing if unavailable. (check-in: [d526d938d7] user: js, branch: trunk, size: 2994) [annotate] [blame] [check-ins using] [diff]

2015-06-14
10:45
[20d6c7fa26] 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: 2996) [annotate] [blame] [check-ins using] [diff]

2015-06-13
22:26
[d3e27d1158] part of check-in [9e76144ef8] Add support for and use the new nullability (check-in: [9e76144ef8] user: js, branch: trunk, size: 2995) [annotate] [blame] [check-ins using] [diff]
2015-06-12
23:59
[1bc847e58e] part of check-in [5329fe7c1a] Add support for and use the new ObjC generics (check-in: [5329fe7c1a] user: js, branch: trunk, size: 2937) [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
[76e424b890] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 2612) [annotate] [blame] [check-ins using] [diff]
2014-02-18
18:50
[4087c20a15] part of check-in [246cfe0807] Documentation: Show correct imports (check-in: [246cfe0807] user: js, branch: trunk, size: 2606) [annotate] [blame] [check-ins using] [diff]
2014-01-04
00:24
[d2335e7639] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 2537) [annotate] [blame] [check-ins using] [diff]
2013-08-10
23:12
[5a99684d1c] part of check-in [aae02e7970] Add -[OFMutableDictionary removeAllObjects]. (check-in: [aae02e7970] user: js, branch: trunk, size: 2531) [annotate] [blame] [check-ins using] [diff]
2013-03-08
22:44
[478ab9b477] part of check-in [e8473b9db8] Document the block types.

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

2013-03-04
17:20
[87d84a54c5] 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: 2250) [annotate] [blame] [check-ins using] [diff]

2013-02-18
12:27
[463267262c] part of check-in [e0c9168dfc] Add -[OFMutableArray initWithCapacity:]. (check-in: [e0c9168dfc] user: js, branch: trunk, size: 2250) [annotate] [blame] [check-ins using] [diff]
11:07
[2e2922b971] part of check-in [4fb0f4bf66] Add -[OFMutableDictionary initWithCapacity:].

This was already implemented in OFDictionary_hashtable for internal
usage and is now publicly available. (check-in: [4fb0f4bf66] user: js, branch: trunk, size: 2253) [annotate] [blame] [check-ins using] [diff]

2013-01-09
22:24
[0910db56e1] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 1661) [annotate] [blame] [check-ins using] [diff]
2012-10-28
12:38
[0b8942ce10] part of check-in [1ad9565253] Switch to a headerdoc-compatible doc format. (check-in: [1ad9565253] user: js, branch: trunk, size: 1655) [annotate] [blame] [check-ins using] [diff]
2012-03-12
12:18
[e2f5552214] part of check-in [6428a08de1] Make dictionary literals work. (check-in: [6428a08de1] user: js, branch: trunk, size: 1655) [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
[513d866e37] part of check-in [ce70e17b38] Update copyright. (check-in: [ce70e17b38] user: js, branch: trunk, size: 1593) [annotate] [blame] [check-ins using] [diff]
2011-10-31
21:18
[933aff6238] part of check-in [6bdb2e4b01] Move placeholder interfaces from headers to implementation files.
This way they are not public anymore.
(check-in: [6bdb2e4b01] user: js, branch: trunk, size: 1587) [annotate] [blame] [check-ins using] [diff]
2011-09-09
10:50
[89005ff668] part of check-in [eedcd6c7b2] Change documentation for abstract classes. (check-in: [eedcd6c7b2] user: js, branch: trunk, size: 1650) [annotate] [blame] [check-ins using] [diff]
2011-08-22
09:58
[41532865ea] part of check-in [367bf4117b] Clean up the class hierarchy in the doxygen generated documentation. (check-in: [367bf4117b] user: js, branch: trunk, size: 1632) [annotate] [blame] [check-ins using] [diff]
2011-08-21
11:03
[0667a7eb0a] part of check-in [c0098f89fe] Make OFDictionary an abstract class. (check-in: [c0098f89fe] user: js, branch: trunk, size: 1656) [annotate] [blame] [check-ins using] [diff]
2011-08-07
16:57
[29972e06f6] part of check-in [927dbf6e7d] Add -[makeImmutable] to all mutable classes and use it. (check-in: [927dbf6e7d] user: js, branch: trunk, size: 1781) [annotate] [blame] [check-ins using] [diff]
2011-07-26
21:42
[ca4efa5ceb] part of check-in [eb791d09d1] Add OFCountedSet. (check-in: [eb791d09d1] user: js, branch: trunk, size: 1679) [annotate] [blame] [check-ins using] [diff]
2011-07-18
22:53
[7317469848] part of check-in [8df328d503] Add OFSet and OFMutableSet. (check-in: [8df328d503] user: js, branch: trunk, size: 1650) [annotate] [blame] [check-ins using] [diff]
2011-05-08
18:35
[17f7dd7a1c] part of check-in [86c9b66b16] OF(MutableDictionary): Use id <OFCopying> where appropriate. (check-in: [86c9b66b16] user: js, branch: trunk, size: 1511) [annotate] [blame] [check-ins using] [diff]
17:19
[b7198b1755] part of check-in [242b1ccd71] More documentation improvements. (check-in: [242b1ccd71] user: js, branch: trunk, size: 1499) [annotate] [blame] [check-ins using] [diff]
2011-04-22
16:53
[fcd7b9f568] part of check-in [da0d602dc8] Style improvements in OF(Mutable)Dictionary. (check-in: [da0d602dc8] user: js, branch: trunk, size: 1431) [annotate] [blame] [check-ins using] [diff]
2011-01-01
20:19
[c2a4a5e1d5] part of check-in [da6b3d26cb] Change license. (check-in: [da6b3d26cb] user: js, branch: trunk, size: 1422) [annotate] [blame] [check-ins using] [diff]
2010-09-05
23:19
[fdc610a5c4] 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: 1166) [annotate] [blame] [check-ins using] [diff]

2010-08-29
17:53
[8e6d4d0e2c] part of check-in [e84073d0f9] More methods using blocks. (check-in: [e84073d0f9] user: js, branch: trunk, size: 1187) [annotate] [blame] [check-ins using] [diff]
2010-08-25
11:33
[034e4119e3] part of check-in [eea73f8d37] -[setObject:forKey:] and -[removeObjectForKey:] now return void. (check-in: [eea73f8d37] user: js, branch: trunk, size: 839) [annotate] [blame] [check-ins using] [diff]
2010-04-17
15:46
[d7025a03e1] 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: 933) [annotate] [blame] [check-ins using] [diff]
2010-02-19
16:36
[486674aaa1] part of check-in [42886185fd] Update copyright. (check-in: [42886185fd] user: js, branch: trunk, size: 824) [annotate] [blame] [check-ins using] [diff]
2010-02-11
14:58
[a2f25e0a26] part of check-in [72caeab860] Documentation improvements. (check-in: [72caeab860] user: js, branch: trunk, size: 824) [annotate] [blame] [check-ins using] [diff]
2010-01-03
21:03
[825c0561fc] part of check-in [4f18e380bf] OFMutableDictionary: Add mutations counter. (check-in: [4f18e380bf] user: js, branch: trunk, size: 850) [annotate] [blame] [check-ins using] [diff]
2009-12-23
22:30
[a6dee4def6] part of check-in [19ac0520ae] Documentation improvements. (check-in: [19ac0520ae] user: js, branch: trunk, size: 822) [annotate] [blame] [check-ins using] [diff]
2009-11-09
22:45
[f4d21099de] part of check-in [a3cc34b139] Rename libobjfw to ObjFW. (check-in: [a3cc34b139] user: js, branch: trunk, size: 828) [annotate] [blame] [check-ins using] [diff]
2009-09-08
16:06
[21cc3f3819] 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: 831) [annotate] [blame] [check-ins using] [diff]

2009-06-30
12:55
[2cfd9e5d81] part of check-in [973e19f23c] Add some missing documentation. (check-in: [973e19f23c] user: js, branch: trunk, size: 976) [annotate] [blame] [check-ins using] [diff]
2009-06-09
20:10
[b962c4babf] part of check-in [41974cf38d] Move documentation of mutating methods.
Mutating methods are now documented in the mutable class.
(check-in: [41974cf38d] user: js, branch: trunk, size: 973) [annotate] [blame] [check-ins using] [diff]
2009-05-18
20:53
Added: [457d6af9f3] part of check-in [71abb030af] Split OFDictionary into OFDictionary and OFMutableDictionary. (check-in: [71abb030af] user: js, branch: trunk, size: 459) [annotate] [blame] [check-ins using]