ObjFW  History of src/OFNumber.h of 691290ca0f4312ba

History of file src/OFNumber.h at check-in 691290ca0f4312ba

2024-06-17
21:08
Always use <ObjFW/ObjFW.h> in documentation file: [b2fd4192b4] check-in: [164f2fb4bf] user: js, branch: trunk, size: 10056 [annotate] [blame] [check-ins using] [diff]
2024-04-03
02:16
Change license to LGPLv3 only file: [d74225adc3] check-in: [7413a728a7] user: js, branch: trunk, size: 10059 [annotate] [blame] [check-ins using] [diff]
2024-01-14
13:00
Replace OFASN1Boolean with bool OFNumber file: [bed7e6a8c1] check-in: [90ee6a8373] user: js, branch: asn1, size: 9912 [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
Update copyright file: [e8b2d0d74a] check-in: [26ddd2e4e4] user: js, branch: trunk, size: 9851 [annotate] [blame] [check-ins using] [diff]
2023-08-09
15:24
Make OFNumber a proper class cluster file: [f19e1bade2] check-in: [c9115cce73] user: js, branch: trunk, size: 9851 [annotate] [blame] [check-ins using] [diff]
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: [bb1eda01eb] check-in: [6ce0093f8d] user: js, branch: trunk, size: 10281 [annotate] [blame] [check-ins using] [diff]

2023-01-06
09:04
Update copyright file: [7dac2a8920] check-in: [8939cbdb52] user: js, branch: trunk, size: 10326 [annotate] [blame] [check-ins using] [diff]
2022-06-06
07:06
Always implement dummy for OF_UNAVAILABLE methods

GCC now supports the attribute, but still complains if the method is not
implemented, so always implement it with a method that throws. file: [eff21822aa] check-in: [e53c0160a8] user: js, branch: trunk, size: 10326 [annotate] [blame] [check-ins using] [diff]

2022-02-12
07:46
Update copyright file: [312b6f2b4b] check-in: [1a86b8175b] user: js, branch: trunk, size: 10394 [annotate] [blame] [check-ins using] [diff]
2021-04-19
21:54
Rename a few more constants file: [1bc62b5876] check-in: [458420998c] user: js, branch: new-naming-convention, size: 10394 [annotate] [blame] [check-ins using] [diff]
2021-04-17
01:19
of_rectangle_t -> OFRect file: [6fc4bc7a5d] check-in: [dec9721b35] user: js, branch: new-naming-convention, size: 10410 [annotate] [blame] [check-ins using] [diff]
01:10
of_dimension_t -> OFSize file: [c1e91a3a26] check-in: [8a7353b219] user: js, branch: new-naming-convention, size: 10428 [annotate] [blame] [check-ins using] [diff]
00:59
Merge trunk into branch "new-naming-convention" file: [0f4bd36ed7] check-in: [b57126a21e] user: js, branch: new-naming-convention, size: 10446 [annotate] [blame] [check-ins using] [diff]
00:57
OFNumber: Remove useless OF_UNAVAILABLE

These methods no longer exist. file: [4b9e5cee54] check-in: [27002f2efe] user: js, branch: trunk, size: 10456 [annotate] [blame] [check-ins using] [diff]

00:54
of_point_t -> OFPoint file: [b9da3b2822] check-in: [3524409dd0] user: js, branch: new-naming-convention, size: 10865 [annotate] [blame] [check-ins using] [diff]
00:44
of_range_t -> OFRange file: [39b3c2a529] check-in: [d975c53a43] user: js, branch: new-naming-convention, size: 10871 [annotate] [blame] [check-ins using] [diff]
00:14
of_comparison_result_t -> OFComparisonResult file: [4ee73ac137] check-in: [61fc389aee] user: js, branch: new-naming-convention, size: 10877 [annotate] [blame] [check-ins using] [diff]
2021-04-07
20:39
Override -[compare:] with a more specific type file: [1390ca955e] check-in: [91a4c53bb1] user: js, branch: trunk, size: 10881 [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
Update copyright file: [428bdb0cc8] check-in: [374e1a1bfa] user: js, branch: trunk, size: 10672 [annotate] [blame] [check-ins using] [diff]
2020-10-03
11:35
Use /** */ instead of /*! */ for documentation file: [028df04d4c] check-in: [163a4a5a2e] user: js, branch: trunk, size: 10761 [annotate] [blame] [check-ins using] [diff]
2020-08-30
16:22
OFNumber: Never access ivars after init

This is a requirement for tagged pointer numbers, which cannot have
ivars. file: [ff0ae5f35c] check-in: [bc9998913a] user: js, branch: tagged-pointers, size: 10761 [annotate] [blame] [check-ins using] [diff]

2020-08-25
00:11
OFNumber: Remove (u)int{8,16,32,64} methods

Since C guarantees minimum sizes for char, short, int, long and long
long, these can be used instead. file: [5740ff4672] check-in: [25c985fec1] user: js, branch: trunk, size: 10873 [annotate] [blame] [check-ins using] [diff]

2020-08-16
18:28
OFNumber: Remove ssize_t

It's a non-standard type that should only be used for matching POSIX
APIs. file: [833a3447d8] check-in: [be8b442546] user: js, branch: trunk, size: 17942 [annotate] [blame] [check-ins using] [diff]

2020-08-12
20:56
Avoid using (u)intmax_t in methods

It is not guaranteed that a type encoding for it exists. file: [66f566bece] check-in: [d74f244ab7] user: js, branch: trunk, size: 18527 [annotate] [blame] [check-ins using] [diff]

2020-07-19
11:49
OFNumber: Refactor to reduce code size file: [8668a7987f] check-in: [59e1c84d30] user: js, branch: trunk, size: 19381 [annotate] [blame] [check-ins using] [diff]
11:03
OFNumber: Always use the smallest type that fits file: [dfa33f4cd7] check-in: [5e8cca7678] user: js, branch: trunk, size: 22293 [annotate] [blame] [check-ins using] [diff]
09:06
OFNumber: Use a placeholder until init is called file: [f7f55d0f21] check-in: [025756f4e3] user: js, branch: trunk, size: 22402 [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
Update copyright file: [b2aed0c6f3] check-in: [c7f0229795] user: js, branch: trunk, size: 22375 [annotate] [blame] [check-ins using] [diff]
2019-12-14
18:48
OFNumber: Add -[stringValue] file: [04b36e645f] check-in: [f5558d0919] user: js, branch: trunk, size: 22372 [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: [1367656c87] check-in: [496695d778] user: js, branch: trunk, size: 22272 [annotate] [blame] [check-ins using] [diff]

2019-01-03
19:13
Update copyright file: [3047242909] check-in: [0509d7a844] user: js, branch: trunk, size: 22246 [annotate] [blame] [check-ins using] [diff]
2018-02-11
12:15
Make OFNumber a subclass of OFValue file: [d08367a725] check-in: [612cd94090] user: js, branch: trunk, size: 22240 [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
Update copyright notice file: [2c125c945d] check-in: [7e5c81e186] user: js, branch: trunk, size: 21112 [annotate] [blame] [check-ins using] [diff]
2017-11-18
18:50
Documentation: Use @brief for all properties file: [9e0deda8a9] check-in: [cc3ad3ddd3] user: js, branch: trunk, size: 21089 [annotate] [blame] [check-ins using] [diff]
2017-10-29
21:58
Convert methods to properties where appropriate

This improves Swift compatibility. file: [0a882a919b] check-in: [f3ccf14461] user: js, branch: trunk, size: 20508 [annotate] [blame] [check-ins using] [diff]

2017-10-22
15:05
Make Apple GCC with -Wshadow happy file: [8625e9c54a] check-in: [a06354b42a] user: js, branch: trunk, size: 21303 [annotate] [blame] [check-ins using] [diff]
14:09
Make Apple GCC with -Wshadow happy file: [c8232cc931] check-in: [31c0f5b89e] user: js, branch: 0.90, size: 20897 [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: [92dadecb01] check-in: [2f4e0df8be] user: js, branch: trunk, size: 21303 [annotate] [blame] [check-ins using] [diff]

2017-06-03
18:37
Properly check for sys/types.h file: [b4280b6f63] check-in: [4ec0948b1b] user: js, branch: trunk, size: 20897 [annotate] [blame] [check-ins using] [diff]
2017-05-13
16:29
Also use nonatomic for non-object properties file: [d2e9d52654] check-in: [f663d40cbd] user: js, branch: trunk, size: 20837 [annotate] [blame] [check-ins using] [diff]
2017-05-07
23:14
Add OF_UNAVAILABLE file: [ae44482d26] check-in: [16c05e87e1] user: js, branch: trunk, size: 20826 [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: [71e2ffba68] check-in: [44f45c2e35] user: js, branch: trunk, size: 20802 [annotate] [blame] [check-ins using] [diff]

2016-10-09
01:31
Do not use @compatibility_alias when using modules file: [f1cf2b6a4d] check-in: [19cb9a43a5] user: js, branch: trunk, size: 20796 [annotate] [blame] [check-ins using] [diff]
2016-04-23
09:43
Never end enums with a comma

While this makes moving things around easier, this has been done by
accident and looks ugly. file: [1972eca1cd] check-in: [3572e824c6] user: js, branch: trunk, size: 20763 [annotate] [blame] [check-ins using] [diff]

2016-01-03
00:43
Update copyright

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

00:41
Update copyright

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

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: [d5e0f4a58d] check-in: [48980f2297] user: js, branch: trunk, size: 20760 [annotate] [blame] [check-ins using] [diff]

2015-06-13
22:26
Add support for and use the new nullability file: [d6e03f82de] check-in: [9e76144ef8] user: js, branch: trunk, size: 20903 [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
Update copyright file: [51f3647292] check-in: [cfd374b906] user: js, branch: trunk, size: 20855 [annotate] [blame] [check-ins using] [diff]
2014-06-26
00:58
OFNumber: Remove methods for arithmetic

These methods encouraged doing arithmetic on objects rather than getting
the C type value, doing the arithmetic and creating a new object. They
didn't do anything else internally, and so doing this manually isn't
slower - it's even faster if you do multiple operations, as no temporary
objects are created then.

Another advantage of this is that there are no longer uncertainties
about types of different OFNumber objects when doing arithmetic, as the
user has to be explicit about the types when getting the C type value
and thus knows which types will be used for the arithmetic. file: [25b9edab19] check-in: [366681bebe] user: js, branch: trunk, size: 20849 [annotate] [blame] [check-ins using] [diff]

2014-06-25
16:08
OFNumber: OF_NUMBER_* -> OF_NUMBER_TYPE_* file: [a9d8cfa7c2] check-in: [0de69c8952] user: js, branch: trunk, size: 24134 [annotate] [blame] [check-ins using] [diff]
2014-05-14
21:09
Replace @compatibility_alias with #define for NS*

@compatibility_alias breaks when enabling the new Clang module support. file: [05b1f19d45] check-in: [ac1ae59c91] user: js, branch: trunk, size: 23718 [annotate] [blame] [check-ins using] [diff]

2014-02-18
18:50
Documentation: Show correct imports file: [ba305281bd] check-in: [246cfe0807] user: js, branch: trunk, size: 23731 [annotate] [blame] [check-ins using] [diff]
2014-01-04
00:24
Update copyright. file: [639b6b3a23] check-in: [3b97fc3cd9] user: js, branch: trunk, size: 23698 [annotate] [blame] [check-ins using] [diff]
2013-06-19
19:14
Implement the new MessagePack specification.

No support for extensions yet.

This obsoletes BinaryPack. file: [65e1bc0377] check-in: [cba771824e] user: js, branch: trunk, size: 23692 [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: [29b807402b] check-in: [c5ef582958] user: js, branch: trunk, size: 23690 [annotate] [blame] [check-ins using] [diff]

2013-02-26
18:40
OFNumber: Add long long. file: [afb39b7429] check-in: [fd8c1728ea] user: js, branch: trunk, size: 23690 [annotate] [blame] [check-ins using] [diff]
2013-02-21
19:35
Add support for generating BinaryPack. file: [4db74b4fc5] check-in: [23c798d4f1] user: js, branch: trunk, size: 22122 [annotate] [blame] [check-ins using] [diff]
2013-02-12
18:22
Prefix all ivars with an underscore. file: [b3a58136c1] check-in: [e40729d406] user: js, branch: trunk, size: 22055 [annotate] [blame] [check-ins using] [diff]
2013-01-17
23:15
Documentation improvements. file: [c711cafca0] check-in: [50b5ac3b27] user: js, branch: trunk, size: 22053 [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
Update copyright. file: [2198faa71d] check-in: [813c00ccf0] user: js, branch: trunk, size: 21556 [annotate] [blame] [check-ins using] [diff]
2012-10-28
12:38
Switch to a headerdoc-compatible doc format. file: [40cf62c75a] check-in: [1ad9565253] user: js, branch: trunk, size: 21550 [annotate] [blame] [check-ins using] [diff]
2012-10-09
15:07
Make use of instancetype. file: [325eff17e3] check-in: [fb515e8e24] user: js, branch: trunk, size: 21550 [annotate] [blame] [check-ins using] [diff]
2012-10-02
11:20
More property cleanup. file: [5d836abad6] check-in: [7261ba5bd1] user: js, branch: trunk, size: 21186 [annotate] [blame] [check-ins using] [diff]
2012-09-09
14:36
OFNumber: Implement OFComparing. file: [3edba1d1a0] check-in: [56df9c44de] user: js, branch: trunk, size: 21108 [annotate] [blame] [check-ins using] [diff]
14:14
Fix -[OFNumber isEqual:]. file: [bb4111628a] check-in: [b791e6fcc4] user: js, branch: trunk, size: 21091 [annotate] [blame] [check-ins using] [diff]
2012-04-21
10:15
Add support for number literals and boxing. file: [5d5851287a] check-in: [048e3eec4b] user: js, branch: trunk, size: 20507 [annotate] [blame] [check-ins using] [diff]
2012-02-27
17:15
Rename OFJSON/OFJSONEncoding to OFJSONRepresentation. file: [6fa2f56574] check-in: [3c0235cd81] user: js, branch: trunk, size: 20390 [annotate] [blame] [check-ins using] [diff]
2012-02-25
11:24
Always define __STDC_{CONSTANT,LIMIT}_MACROS before libc includes.
This is necessary for ObjC++.
file: [2ab0482390] check-in: [99ed50a5e4] user: js, branch: 0.6, size: 20370 [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
Update copyright. file: [2829df2028] check-in: [ce70e17b38] user: js, branch: trunk, size: 20235 [annotate] [blame] [check-ins using] [diff]
2011-12-10
21:50
Rename OFJSON to OFJSONEncoding. file: [a16d8529e4] check-in: [0b98b3a093] user: js, branch: trunk, size: 20229 [annotate] [blame] [check-ins using] [diff]
13:17
Add JSON encoding. file: [434b0d067a] check-in: [243a96fc2d] user: js, branch: trunk, size: 20221 [annotate] [blame] [check-ins using] [diff]
2011-07-17
00:57
Get rid of unnecessary includes of unistd.h in headers.

This solves problems on systems where __block is used in unistd.h. file: [0944a92f2e] check-in: [368fffb61e] user: js, branch: 0.5, size: 16030 [annotate] [blame] [check-ins using] [diff]

00:57
Get rid of unnecessary includes of unistd.h in headers.

This solves problems on systems where __block is used in unistd.h. file: [6c0dda2992] check-in: [eced1d58ea] user: js, branch: trunk, size: 20194 [annotate] [blame] [check-ins using] [diff]

2011-05-08
19:55
Add support for serialization.
No deserialization yet.
file: [74b7578fe9] check-in: [b27b3aa3e3] user: js, branch: trunk, size: 20191 [annotate] [blame] [check-ins using] [diff]
18:32
OFNumber: Explicitly use signed and improve documentation. file: [12744aedfc] check-in: [eb2402a77a] user: js, branch: trunk, size: 20146 [annotate] [blame] [check-ins using] [diff]
2011-02-01
21:47
Get rid of another ObjC++ warning. file: [fd0954f29b] check-in: [9d9881f26c] user: js, branch: trunk, size: 16027 [annotate] [blame] [check-ins using] [diff]
2011-01-15
18:17
Define enums as types. file: [914f43516c] check-in: [b5ec30fa9d] user: js, branch: trunk, size: 16011 [annotate] [blame] [check-ins using] [diff]
2011-01-01
20:19
Change license. file: [14ca51589b] check-in: [da6b3d26cb] user: js, branch: trunk, size: 15989 [annotate] [blame] [check-ins using] [diff]
2010-11-13
16:15
Add support for BOOL to OFNumber. file: [15976a5400] check-in: [0ec87765f4] user: js, branch: trunk, size: 15733 [annotate] [blame] [check-ins using] [diff]
2010-06-13
03:23
Add OFSocketObserver. file: [60fe00fa34] check-in: [7390eb7270] user: js, branch: trunk, size: 15294 [annotate] [blame] [check-ins using] [diff]
2010-05-13
17:11
Add -[remainderOfDivisionWithNumber:] to OFNumber. file: [6d290d5b08] check-in: [8fd09d2c59] user: js, branch: trunk, size: 15282 [annotate] [blame] [check-ins using] [diff]
2010-04-30
13:59
Documentation improvement (replaced "an uint*" with "a uint*"). file: [fefd022278] check-in: [e259d77a62] user: js, branch: trunk, size: 15112 [annotate] [blame] [check-ins using] [diff]
13:07
OFNumber API improvement. file: [ec96a4eaff] check-in: [e4344e3c5e] user: js, branch: trunk, size: 15130 [annotate] [blame] [check-ins using] [diff]
2010-04-23
12:34
Nicer API for OFNumber. file: [bdf451cad0] check-in: [03be48c518] user: js, branch: trunk, size: 15058 [annotate] [blame] [check-ins using] [diff]
2010-04-17
16:09
Give the methods in OFNumber better names. file: [c86cd5538d] check-in: [2517f18272] user: js, branch: trunk, size: 14899 [annotate] [blame] [check-ins using] [diff]
15:46
Don't return self where not necessary, return void or something useful. file: [35311fb8bd] check-in: [062a052b50] user: js, branch: trunk, size: 14777 [annotate] [blame] [check-ins using] [diff]
2010-03-15
01:38
Add uintptr_t to OFNumber. file: [44b277b096] check-in: [3e2aa4cf61] user: js, branch: trunk, size: 14449 [annotate] [blame] [check-ins using] [diff]
2010-03-14
12:38
Merge 9af5e9a8f80a into 0.2 branch. file: [1a5f7b4ea0] check-in: [0d9f51689f] user: js, branch: 0.2, size: 12634 [annotate] [blame] [check-ins using] [diff]
12:37
Documentation improvements. file: [82eb4472bd] check-in: [40523d5535] user: js, branch: trunk, size: 13950 [annotate] [blame] [check-ins using] [diff]
2010-03-13
22:27
Add -[{and,or,xor,shiftLeft,shiftRight}:] to OFNumber. file: [b0f5b934e7] check-in: [a57d46cb3b] user: js, branch: trunk, size: 13971 [annotate] [blame] [check-ins using] [diff]
2010-03-05
03:21
Let operations on OFNumbers return a new one. file: [b4de2a5a33] check-in: [5e65237276] user: js, branch: trunk, size: 12693 [annotate] [blame] [check-ins using] [diff]
2010-02-19
16:36
Update copyright. file: [6900966d0c] check-in: [42886185fd] user: js, branch: trunk, size: 12655 [annotate] [blame] [check-ins using] [diff]
2010-02-11
14:58
Documentation improvements. file: [e98b32202b] check-in: [72caeab860] user: js, branch: trunk, size: 12655 [annotate] [blame] [check-ins using] [diff]
2009-12-03
10:29
More documentation improvements. file: [fb94e23de6] check-in: [012cee4f80] user: js, branch: trunk, size: 12670 [annotate] [blame] [check-ins using] [diff]
2009-11-09
22:45
Rename libobjfw to ObjFW. file: [2ef00800e8] check-in: [a3cc34b139] user: js, branch: trunk, size: 12671 [annotate] [blame] [check-ins using] [diff]
2009-06-30
12:55
Add some missing documentation. file: [63d31ab23c] check-in: [973e19f23c] user: js, branch: trunk, size: 12674 [annotate] [blame] [check-ins using] [diff]
2009-04-19
23:19
More methods for OFNumber. file: [9847bb6afe] check-in: [1898ec5a4b] user: js, branch: trunk, size: 3912 [annotate] [blame] [check-ins using] [diff]
23:17
Remove long double from OFNumber as there's no type encoding for it. file: [9ea1dbd0dc] check-in: [8eb830d7c8] user: js, branch: trunk, size: 3776 [annotate] [blame] [check-ins using] [diff]
2009-02-14
20:15
Add intmax_t and uintmax_t to OFNumber. file: [6453b5d17a] check-in: [db131a629c] user: js, branch: trunk, size: 3953 [annotate] [blame] [check-ins using] [diff]
17:26
Always use #include for libc headers due to glibc being broken.
Do the same for win32 headers, just in case. They should work with
#import, but you never know ;).
file: [5ac8772568] check-in: [029511474c] user: js, branch: trunk, size: 3663 [annotate] [blame] [check-ins using] [diff]
2009-01-24
15:24
Adjust API to introduction of OFAutoreleasePool. file: [3bc9a9c5bd] check-in: [1496808b81] user: js, branch: trunk, size: 3662 [annotate] [blame] [check-ins using] [diff]
2009-01-05
00:59
Update copyright. file: [9ee2537120] check-in: [f1b749d113] user: js, branch: trunk, size: 3593 [annotate] [blame] [check-ins using] [diff]
2009-01-02
17:20
Some import fixes, some static lib and win32 enhancements. file: [204398f67a] check-in: [ba01b9c18a] user: js, branch: trunk, size: 3586 [annotate] [blame] [check-ins using] [diff]
2008-12-30
14:42
Added: Add OFNumber. file: [2b396a780c] check-in: [555f28985f] user: js, branch: trunk, size: 3566 [annotate] [blame] [check-ins using]