banan-os/BAN/include/BAN
Bananymous 229082a1b2 BAN: Rewrite String with small string optimizations
String now holds a 15 byte sso buffer. I'm not sure what the size
should actually be but 15 will work for now. Maybe the sso buffer
should be contained in an union with one bit flag in size instead of
variant that uses extra 8 bytes for type index.

This patch buffs sizeof(String) from 24 bytes to 32 bytes on 64 bit.
I assume this is much better version than the old which had to make
allocation even for empty strings :D.
2023-10-29 03:11:13 +03:00
..
Array.h BAN: Add data() member function to Array 2023-04-03 17:00:52 +03:00
Assert.h LibC: Rewrite all the headers. 2023-05-26 22:31:21 +03:00
ByteSpan.h BAN: Update ByteSpan API 2023-10-28 22:10:47 +03:00
CircularQueue.h BAN: Implement basic Circular Queue 2023-03-28 21:44:02 +03:00
Endianness.h BAN: Update Endiannes API 2023-09-28 01:22:14 +03:00
Errors.h Kernel: better handle kernel errors 2023-08-29 00:13:21 +03:00
Formatter.h All: Clear lines with only whitspace in them 2023-09-10 00:31:42 +03:00
ForwardList.h BAN: Add variant to ForwardList 2023-10-29 02:28:55 +03:00
Function.h BAN: increase function size to 5 * sizeof(void*) 2023-08-22 14:52:03 +03:00
Hash.h BAN: Add basic hashing functionality 2023-02-10 02:59:30 +02:00
HashMap.h BAN: Implement ConstIteratorDouble and add it to HashMap 2023-07-12 11:41:05 +03:00
HashSet.h All: Clear lines with only whitspace in them 2023-09-10 00:31:42 +03:00
Iteration.h BAN: Add enum class Iteration for for_each loops 2023-08-22 11:30:53 +03:00
Iterators.h BAN: Iterators are now single general type with CONST template 2023-07-12 13:35:21 +03:00
LinkedList.h BAN: Fix LinkedList::pop_back() 2023-09-22 17:20:35 +03:00
Math.h BAN: Remove endianness functions from Math 2023-09-29 19:38:07 +03:00
Move.h BAN: move placement new declaration to Move.h 2023-03-27 03:38:06 +03:00
New.h Kernel: Move kmalloc and MMU to Memory directory 2023-04-18 10:18:15 +03:00
NoCopyMove.h BAN: Add RefCounted<> and Unique<> 2023-01-31 18:43:09 +02:00
Optional.h BAN: Optional can now be constructed from another Optional 2023-10-11 20:10:06 +03:00
Queue.h BAN: Move RefPtr to its own file and create New.h 2023-04-10 21:07:25 +03:00
RefPtr.h BAN: RefPtr can be constructed from other types 2023-07-10 11:48:11 +03:00
ScopeGuard.h BAN: ScopeGuard can now be disabled (it wont call the function) 2023-03-28 01:15:13 +03:00
Span.h BAN: Fix bug of size of splice after slice() 2023-10-24 17:23:45 +03:00
String.h BAN: Rewrite String with small string optimizations 2023-10-29 03:11:13 +03:00
StringView.h BAN: add StringView::contains(char) 2023-06-05 22:51:02 +03:00
Time.h Kernel/BAN: move unix time conversion to BAN and add stat to Shell 2023-03-27 00:49:58 +03:00
Traits.h All: Clear lines with only whitspace in them 2023-09-10 00:31:42 +03:00
UTF8.h Kernel: Cleanup GPT parsing code 2023-03-23 11:13:14 +02:00
UniqPtr.h BAN: UniqPtr can now be constructed from other convertible UniqPtr 2023-08-04 10:29:42 +03:00
Variant.h BAN: Variant with reference now supports copy/assign 2023-04-18 20:21:23 +03:00
Vector.h All: Clear lines with only whitspace in them 2023-09-10 00:31:42 +03:00
WeakPtr.h BAN: Implement basic WeakPtr 2023-09-25 19:43:10 +03:00