30fdc2198f
BAN: Add exchage() to Atomic<T>
2024-06-20 13:24:42 +03:00
ad6d95ba52
BuildSystem: Rework the whole cmake build system
...
Now files are installed using the install() command instead of manually
copying files to their destinations. This allows automatic recompilation
of headers that did not work previously
2024-06-19 09:40:03 +03:00
318ce5dec8
All: Fix a lot of compiler warnings from header files
...
While reworking build system, header files started to report warnings.
2024-06-18 23:02:10 +03:00
f233715b70
BAN: Add d{print,want,error}ln_if macros for userspace
2024-06-18 02:35:45 +03:00
a58ac18fa0
BAN: Add move constructors to ByteSpan
2024-06-18 01:52:02 +03:00
17ecbca204
BAN: Add network_endian_to_host
2024-06-17 22:14:43 +03:00
511fc870a1
BAN: Mark RefPtr and WeakPtr operator bool() as explicit
2024-06-17 20:19:36 +03:00
15f8c7014f
BAN: Add line endings to d{warn,error}ln
2024-06-17 16:48:56 +03:00
05e9d76c77
BAN: Implement will_{addition,multiplication}_overflow
2024-06-14 11:04:29 +03:00
cc6b80a55b
BAN: Optimize Vector copy assignment to reduce allocations
...
If vector contains enough elements, it will now replace old elements
instead of clearing and reallocating
2024-06-14 00:17:28 +03:00
6707989cd5
BAN: Implement same_as and add requires for BAN::Function with lambda
...
BAN::Function(lambda) now requires that the object is callable and
returns the correct type. This allows overloads with different
callback formats.
2024-06-14 00:15:48 +03:00
caa0111c79
BAN: Implement back() for CircularQueue
2024-06-11 00:05:11 +03:00
65f299038d
BAN: Implement traits {true,false}_type with integral_constant
2024-06-03 17:51:44 +03:00
939cbf46e4
BAN: Implement BAN::UTF8::to_codepoint() for single byte types
2024-06-03 03:39:57 +03:00
cfdce9be61
BAN: Mark RefPtr and WeakPtr helper destructors virtual
...
Also fix a bug in WeakPtr::lock() which would assert false if the
underlying weak link was not initialized
2024-06-02 16:50:26 +03:00
b2a4797d16
BAN: Fix dwarnln and derrorln stop color
2024-05-31 13:04:36 +03:00
30592b27ce
BAN: Add comparison operators for RefPtr
2024-05-29 13:50:03 +03:00
54db4ab215
BAN: Increase BAN::Function storage size to 8 pointers
2024-05-28 16:01:41 +03:00
f5987b68ff
BAN: Mark some class methods as constexpr
2024-05-28 01:07:29 +03:00
06f4b0b29a
BAN: Make String and StringView header only
...
This allows linking with libc without having to link ban
2024-05-23 15:43:26 +03:00
090a294017
BAN: Add {little,big}_endian_to_host
...
These just call host_to_{little,big}_endian but are more verbose
and cleaner.
2024-04-09 01:13:28 +03:00
3c62be3f5d
BAN: Implement make_signed and make_unsigned
2024-03-22 12:35:20 +02:00
e447d5fccf
All: remove obsolete gitignore files
...
These have not been in use for almost a year
2024-03-18 15:28:46 +02:00
54d0cb47cd
BAN: Update ASSERT_NOT_REACHED message
2024-03-08 22:11:39 +02:00
efed67cbd0
BAN: Remove unnecessary default constructor from Array
2024-03-06 16:01:52 +02:00
8670364f44
BAN: Remove unnecessary include from Array.h
2024-03-06 00:01:06 +02:00
9c36d7c338
BAN/Kernel: Rework assertion/panic system
...
BAN/Assert.h does not need any includes meaning it can be included
anywhere without problems.
2024-03-04 11:41:54 +02:00
efd8203232
BAN: Atomic memory order can be set per function call
2024-03-03 01:41:46 +02:00
1971813336
BAN: Add HashMap::remove(iterator)
2024-02-28 22:35:42 +02:00
3c88d2aad3
BAN: Implement find() for HashMap
2024-02-28 13:20:24 +02:00
6ebfe05fce
BAN: Add parenthesis in ASSERT macros
2024-02-25 21:22:47 +02:00
fb0d8d746f
BAN: Add {max,min}_exponent{2,10} to numeric_limits<T>
2024-02-16 15:27:40 +02:00
3c54243ac7
BAN: Implement some numerical limits
2024-02-14 22:34:42 +02:00
5ad4340679
BAN: Use strerrordesc_np instead of strerror
2024-02-14 14:58:27 +02:00
78ef7e804f
BAN: Implement bit_cast
2024-02-12 21:46:33 +02:00
218456d127
BAN: Fix some includes
2024-02-08 03:13:21 +02:00
0c8e9fe095
Kernel: Add operator bool() for WeakPtr
2024-02-08 02:26:46 +02:00
5b4acec4ca
BAN: Add capacity() getter for Queue
2024-02-07 22:53:56 +02:00
2cc9534570
BAN: Add emplace for Variant
...
This allows variant to store values that are not copy/move
constructible.
2024-02-07 22:33:16 +02:00
40e341b0ee
BAN: Remove unstable hash map and set
...
These can now be implemented safely with new linked list api
2024-02-06 17:35:15 +02:00
b2291ce162
Kernel/BAN: Fix network strucute endianness
2024-02-05 18:18:56 +02:00
d15cbb2d6a
Kernel: Fix IPv4 header checksum calculation
2024-02-05 18:18:56 +02:00
b8cf6432ef
BAN: Implement host_to_network_endian
2024-02-05 17:29:24 +02:00
692cec8458
Kernel/Userspace/LibC: Implement basic dprintln for userspace
2024-02-05 01:24:09 +02:00
3a6d31d3fa
BAN: Add comparison for MAC
2024-02-03 18:03:27 +02:00
c18f72ceb9
BAN: Add more APIs for IPv4 address
2024-02-03 01:50:10 +02:00
7b287a1d5b
BAN: Add types for IPv4 and MAC addresses
2024-02-02 13:48:07 +02:00
acd6c86f98
BAN: Add NetworkEndian to Endianness
2024-02-02 03:13:14 +02:00
d054e5b4b7
BAN: Implement basic radix sort for unsigned integers
2024-02-01 15:22:28 +02:00
c4bf1641bd
BAN: Add cool API for LinkedList
...
You can now move elements between LinkedLists without allocations or
deallocations. Same node moves from source to destination
2024-02-01 14:19:02 +02:00