ObjFW  History of src/OFMutableDictionary.h of a424cf2332147a13

History of file src/OFMutableDictionary.h at check-in a424cf2332147a13

2024-06-17
21:08
Always use <ObjFW/ObjFW.h> in documentation file: [5e5a72e133] check-in: [164f2fb4bf] user: js, branch: trunk, size: 4064 [annotate] [blame] [check-ins using] [diff]
2024-04-03
02:16
Change license to LGPLv3 only file: [529de7c130] check-in: [7413a728a7] user: js, branch: trunk, size: 4064 [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
Update copyright file: [30d990b8d9] check-in: [26ddd2e4e4] user: js, branch: trunk, size: 3856 [annotate] [blame] [check-ins using] [diff]
2023-08-12
17:31
OFDictionary: Add designated initializers file: [dd4009e02f] check-in: [4fa963805b] user: js, branch: trunk, size: 3856 [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
Update copyright file: [368ae1527e] check-in: [8939cbdb52] user: js, branch: trunk, size: 3648 [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
Update copyright file: [851a8f19f7] check-in: [1a86b8175b] user: js, branch: trunk, size: 3648 [annotate] [blame] [check-ins using] [diff]
2021-04-17
03:21
Rename all blocks file: [d2bbc1da30] check-in: [c4e0e56fa3] user: js, branch: new-naming-convention, size: 3648 [annotate] [blame] [check-ins using] [diff]
2021-03-07
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: [d0bf1761a1] check-in: [a0fd103a0b] user: js, branch: trunk, size: 3658 [annotate] [blame] [check-ins using] [diff]

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

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

2020-01-02
01:51
Update copyright file: [50c90d0e94] check-in: [c7f0229795] user: js, branch: trunk, size: 3765 [annotate] [blame] [check-ins using] [diff]
2019-09-29
19:35
Either restrict subclassing or reserve ivar space

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

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

-[setObject:forSubscriptedKey:] is supposed to support removing a key by
setting it to nil. file: [4bdbc2aa53] check-in: [bb8de03577] user: js, branch: trunk, size: 3565 [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: [432341193d] check-in: [2f4e0df8be] user: js, branch: trunk, size: 3222 [annotate] [blame] [check-ins using] [diff]

2017-06-05
18:56
Doxyfile: Add missing defines file: [6a5236f2f3] check-in: [4b6dfe02f2] user: js, branch: trunk, size: 3208 [annotate] [blame] [check-ins using] [diff]
2017-05-25
15:09
-[OFMutableDictionary addEntiresFromDictionary:] file: [6f52e16281] check-in: [88a584a16f] user: js, branch: trunk, size: 3236 [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: [50af542eae] check-in: [4af49a13c3] user: js, branch: trunk, size: 3002 [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: [98bf6cee07] check-in: [44f45c2e35] user: js, branch: trunk, size: 3004 [annotate] [blame] [check-ins using] [diff]

2016-06-05
14:32
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:]. file: [549070ec8e] check-in: [cbacea7ca3] user: js, branch: trunk, size: 3374 [annotate] [blame] [check-ins using] [diff]

2016-01-03
00:43
Update copyright

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

00:41
Update copyright

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

2015-11-21
18:35
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. file: [cf03a53ce5] check-in: [d526d938d7] user: js, branch: trunk, size: 2994 [annotate] [blame] [check-ins using] [diff]

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: [20d6c7fa26] check-in: [b7097a67b6] user: js, branch: trunk, size: 2996 [annotate] [blame] [check-ins using] [diff]

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

This also removes "bool *stop" from some blocks where it does not make
sense. file: [478ab9b477] check-in: [e8473b9db8] user: js, branch: trunk, size: 2465 [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: [87d84a54c5] check-in: [c5ef582958] user: js, branch: trunk, size: 2250 [annotate] [blame] [check-ins using] [diff]

2013-02-18
12:27
Add -[OFMutableArray initWithCapacity:]. file: [463267262c] check-in: [e0c9168dfc] user: js, branch: trunk, size: 2250 [annotate] [blame] [check-ins using] [diff]
11:07
Add -[OFMutableDictionary initWithCapacity:].

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

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

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

2009-06-30
12:55
Add some missing documentation. file: [2cfd9e5d81] check-in: [973e19f23c] user: js, branch: trunk, size: 976 [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: [b962c4babf] check-in: [41974cf38d] user: js, branch: trunk, size: 973 [annotate] [blame] [check-ins using] [diff]
2009-05-18
20:53
Added: Split OFDictionary into OFDictionary and OFMutableDictionary. file: [457d6af9f3] check-in: [71abb030af] user: js, branch: trunk, size: 459 [annotate] [blame] [check-ins using]