ObjFW  History of src/OFSet.h of 3ff339cf4218dc03

History of the file that is called src/OFSet.h at check-in 3ff339cf4218dc03

2024-04-03
02:16
[2fb0412f03] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 7806) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
[dfe1ffa107] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 7598) [annotate] [blame] [check-ins using] [diff]
2023-08-13
22:02
[27d5fba5ea] part of check-in [d0205355f5] OFSet: Add designated initializers (check-in: [d0205355f5] user: js, branch: trunk, size: 7598) [annotate] [blame] [check-ins using] [diff]
2023-04-10
19:22
[b6b0fc8990] 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: 7422) [annotate] [blame] [check-ins using] [diff]

2023-01-06
09:04
[e408900b6b] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 7467) [annotate] [blame] [check-ins using] [diff]
2022-06-12
06:27
[4c0dd3a76f] part of check-in [6228b691b5] Remove a few useless methods (check-in: [6228b691b5] user: js, branch: trunk, size: 7467) [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
[d5a622be48] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 7998) [annotate] [blame] [check-ins using] [diff]
2021-04-17
03:21
[b05430c060] part of check-in [c4e0e56fa3] Rename all blocks (check-in: [c4e0e56fa3] user: js, branch: new-naming-convention, size: 7998) [annotate] [blame] [check-ins using] [diff]
2021-04-07
20:52
[14327ba57e] part of check-in [f0f38b0f42] Override -[objectEnumerator] in some classes

Classes using lightweight generics should also use them for the
enumerator to allow stronger typing. (check-in: [f0f38b0f42] user: js, branch: trunk, size: 8017) [annotate] [blame] [check-ins using] [diff]

2021-03-07
15:07
[a377c99f36] part of check-in [1948e7e972] *.h: Fold methods into one line where it fits (check-in: [1948e7e972] user: js, branch: trunk, size: 7796) [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
[17726306c1] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 7799) [annotate] [blame] [check-ins using] [diff]
2020-10-03
11:35
[18028f8bc4] part of check-in [163a4a5a2e] Use /** */ instead of /*! */ for documentation (check-in: [163a4a5a2e] user: js, branch: trunk, size: 7888) [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
[e80c92b359] part of check-in [c7f0229795] Update copyright (check-in: [c7f0229795] user: js, branch: trunk, size: 7888) [annotate] [blame] [check-ins using] [diff]
2019-09-29
19:35
[f80d14d494] 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: 7911) [annotate] [blame] [check-ins using] [diff]

2019-06-20
23:36
[9f71c62224] part of check-in [d537543238] Document methods to override in class clusters (check-in: [d537543238] user: js, branch: trunk, size: 7885) [annotate] [blame] [check-ins using] [diff]
2019-03-23
22:03
[2986242031] part of check-in [d7824704f9] Add -[valueForKeyPath:] / -[setValue:forKeyPath:] (check-in: [d7824704f9] user: js, branch: trunk, size: 7783) [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
[5e61cccf26] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 7971) [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
[4e74e25bba] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 7965) [annotate] [blame] [check-ins using] [diff]
2017-11-20
22:35
[52573bc3f6] part of check-in [7c8ac46f53] OFSetTests: Test all implementations (check-in: [7c8ac46f53] user: js, branch: trunk, size: 7942) [annotate] [blame] [check-ins using] [diff]
2017-11-18
18:50
[878ae2eb77] part of check-in [cc3ad3ddd3] Documentation: Use @brief for all properties (check-in: [cc3ad3ddd3] user: js, branch: trunk, size: 7930) [annotate] [blame] [check-ins using] [diff]
2017-10-29
21:58
[62a20daa00] part of check-in [f3ccf14461] Convert methods to properties where appropriate

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

2017-10-17
00:33
[6c82eb5230] 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: 8193) [annotate] [blame] [check-ins using] [diff]

2017-10-01
14:05
[28701b2ea5] part of check-in [e47c219327] Disable -Wnullable-to-nonnull-conversion again

It does not work well enough yet: While creating a lot of noise, it
fails to even find many of the obvious cases. Depending on the static
analyzer seems to be the better approach for now. (check-in: [e47c219327] user: js, branch: trunk, size: 8123) [annotate] [blame] [check-ins using] [diff]

2017-09-28
23:02
[968a9faa33] part of check-in [2de9660312] Enable -Wnullable-to-nonnull-conversion and adjust (check-in: [2de9660312] user: js, branch: trunk, size: 8114) [annotate] [blame] [check-ins using] [diff]
2017-09-27
22:35
[c9d70b7eb7] part of check-in [697e3ecbf7] More nullability fixes (check-in: [697e3ecbf7] user: js, branch: trunk, size: 8123) [annotate] [blame] [check-ins using] [diff]
2017-06-05
18:56
[b570ea6601] part of check-in [4b6dfe02f2] Doxyfile: Add missing defines (check-in: [4b6dfe02f2] user: js, branch: trunk, size: 8132) [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
[48306f95d4] 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: 8143) [annotate] [blame] [check-ins using] [diff]

2017-01-09
17:36
[0fe90e5221] 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: 8127) [annotate] [blame] [check-ins using] [diff]

2016-06-05
20:37
[be2d24001b] part of check-in [ef8d57bd4e] Implement Key Value Coding for OFSet

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. (check-in: [ef8d57bd4e] user: js, branch: trunk, size: 8121) [annotate] [blame] [check-ins using] [diff]

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

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

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

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

2015-11-21
18:35
[b3a46a1679] 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: 7176) [annotate] [blame] [check-ins using] [diff]

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

2015-06-13
22:26
[4f3cbb67f1] part of check-in [9e76144ef8] Add support for and use the new nullability (check-in: [9e76144ef8] user: js, branch: trunk, size: 7180) [annotate] [blame] [check-ins using] [diff]
2015-06-12
23:59
[da75a58c99] part of check-in [5329fe7c1a] Add support for and use the new ObjC generics (check-in: [5329fe7c1a] user: js, branch: trunk, size: 7083) [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
[c4488446e4] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 5981) [annotate] [blame] [check-ins using] [diff]
2014-02-18
18:50
[d36d2e8e15] part of check-in [246cfe0807] Documentation: Show correct imports (check-in: [246cfe0807] user: js, branch: trunk, size: 5975) [annotate] [blame] [check-ins using] [diff]
2014-01-04
00:24
[2236735c3f] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 5934) [annotate] [blame] [check-ins using] [diff]
2013-05-04
12:04
[94f5724138] part of check-in [d1a7509701] OFSet: Add -[allObjects] and -[anyObject]. (check-in: [d1a7509701] user: js, branch: trunk, size: 5928) [annotate] [blame] [check-ins using] [diff]
2013-03-08
22:44
[a277fd200b] 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: 5671) [annotate] [blame] [check-ins using] [diff]

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

2013-01-09
22:24
[a68cfc7c01] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 5310) [annotate] [blame] [check-ins using] [diff]
2012-12-15
19:45
[b01baf3659] part of check-in [b39e7c8bd1] OFSet: Fix wrong argument type in interface. (check-in: [b39e7c8bd1] user: js, branch: trunk, size: 5304) [annotate] [blame] [check-ins using] [diff]
2012-12-12
22:02
[7443a8dee9] part of check-in [12fef9798a] OFSet: Add a few new methods to create new sets. (check-in: [12fef9798a] user: js, branch: trunk, size: 5307) [annotate] [blame] [check-ins using] [diff]
2012-12-02
16:43
[2a615a7348] part of check-in [7da3f6be09] Add a warning about mutating objects in a set. (check-in: [7da3f6be09] user: js, branch: trunk, size: 4674) [annotate] [blame] [check-ins using] [diff]
16:42
[84fe8aa7db] part of check-in [c07d060cd8] Add a warning about mutating objects in a set. (check-in: [c07d060cd8] user: js, branch: 0.7, size: 4674) [annotate] [blame] [check-ins using] [diff]
2012-10-28
12:38
[45f4477f95] part of check-in [1ad9565253] Switch to a headerdoc-compatible doc format. (check-in: [1ad9565253] user: js, branch: trunk, size: 4526) [annotate] [blame] [check-ins using] [diff]
2012-10-09
15:07
[e720d47024] part of check-in [fb515e8e24] Make use of instancetype. (check-in: [fb515e8e24] user: js, branch: trunk, size: 4526) [annotate] [blame] [check-ins using] [diff]
2012-03-29
07:57
[ec53fbdca5] part of check-in [89d53f2a9a] Add a few "const" where they make sense. (check-in: [89d53f2a9a] user: js, branch: trunk, size: 4456) [annotate] [blame] [check-ins using] [diff]
2012-03-28
09:25
[3339e4633d] part of check-in [5e98e61531] Add +[OFSet setWithObjects:count:]. (check-in: [5e98e61531] user: js, branch: trunk, size: 4444) [annotate] [blame] [check-ins using] [diff]
2012-02-25
11:24
[889864d837] part of check-in [99ed50a5e4] Always define __STDC_{CONSTANT,LIMIT}_MACROS before libc includes.
This is necessary for ObjC++.
(check-in: [99ed50a5e4] user: js, branch: 0.6, size: 3832) [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
[bd79d5f4f9] part of check-in [ce70e17b38] Update copyright. (check-in: [ce70e17b38] user: js, branch: trunk, size: 3697) [annotate] [blame] [check-ins using] [diff]
2011-10-31
21:18
[e8a0550195] 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: 3691) [annotate] [blame] [check-ins using] [diff]
2011-09-11
17:09
[adde5b4579] part of check-in [8d554c0421] Documentation improvements. (check-in: [8d554c0421] user: js, branch: trunk, size: 3733) [annotate] [blame] [check-ins using] [diff]
2011-09-09
10:50
[08e53a27f1] part of check-in [eedcd6c7b2] Change documentation for abstract classes. (check-in: [eedcd6c7b2] user: js, branch: trunk, size: 3789) [annotate] [blame] [check-ins using] [diff]
2011-09-01
18:08
[c63fa846e0] part of check-in [8d5ca84bc5] Add serialization and deserialization for OFSet and OFCountedSet. (check-in: [8d5ca84bc5] user: js, branch: trunk, size: 3767) [annotate] [blame] [check-ins using] [diff]
2011-08-31
16:01
[9364338508] part of check-in [66b12bb66f] Make OFSet and OFCountedSet abstract classes. (check-in: [66b12bb66f] user: js, branch: trunk, size: 3718) [annotate] [blame] [check-ins using] [diff]
2011-08-21
11:03
[ed184131ea] part of check-in [c0098f89fe] Make OFDictionary an abstract class. (check-in: [c0098f89fe] user: js, branch: trunk, size: 3763) [annotate] [blame] [check-ins using] [diff]
2011-07-26
21:42
[d4e9745629] part of check-in [eb791d09d1] Add OFCountedSet. (check-in: [eb791d09d1] user: js, branch: trunk, size: 3743) [annotate] [blame] [check-ins using] [diff]
2011-07-21
23:56
[ccc5bd9784] part of check-in [3e6766ac10] Add -[enumerateObjectsUsingBlock:] and -[filteredSetUsingBlock:]. (check-in: [3e6766ac10] user: js, branch: trunk, size: 3721) [annotate] [blame] [check-ins using] [diff]
2011-07-19
23:04
[a13751ccb0] part of check-in [cbf0b4dd91] Add fast enumeration to OFSet. (check-in: [cbf0b4dd91] user: js, branch: trunk, size: 3101) [annotate] [blame] [check-ins using] [diff]
2011-07-18
22:53
Added: [1df2b6e5f6] part of check-in [8df328d503] Add OFSet and OFMutableSet. (check-in: [8df328d503] user: js, branch: trunk, size: 3078) [annotate] [blame] [check-ins using]