247f03c79e 
								
							 
						 
						
							
							
								
								BAN: Make ErrorOr<> have attribute [[nodiscard]]  
							
							... 
							
							
							
							We don't have to specify it everytime we make function return ErrorOr 
							
						 
						
							2023-02-19 20:10:30 +02:00  
				
					
						
							
							
								 
						
							
								66a4b69a29 
								
							 
						 
						
							
							
								
								BAN: Math now uses template concepts and add div_round_up  
							
							
							
						 
						
							2023-02-19 00:48:56 +02:00  
				
					
						
							
							
								 
						
							
								7f12a7050a 
								
							 
						 
						
							
							
								
								BAN: Add data() to Vector.  
							
							... 
							
							
							
							This allows you to access the underlying data in a vector 
							
						 
						
							2023-02-16 20:47:49 +02:00  
				
					
						
							
							
								 
						
							
								f188fea81c 
								
							 
						 
						
							
							
								
								BAN: Implement basic HashSet  
							
							
							
						 
						
							2023-02-10 02:59:52 +02:00  
				
					
						
							
							
								 
						
							
								7630df84ad 
								
							 
						 
						
							
							
								
								BAN: Add basic hashing functionality  
							
							
							
						 
						
							2023-02-10 02:59:30 +02:00  
				
					
						
							
							
								 
						
							
								4f8fcf0bd7 
								
							 
						 
						
							
							
								
								BAN: Add Formatter specialization for Vector  
							
							
							
						 
						
							2023-02-10 02:58:14 +02:00  
				
					
						
							
							
								 
						
							
								f68ae01d0c 
								
							 
						 
						
							
							
								
								BAN: Fix ErrorOr<void> to actually set error byte  
							
							
							
						 
						
							2023-02-10 01:06:18 +02:00  
				
					
						
							
							
								 
						
							
								7ee4ecd7f4 
								
							 
						 
						
							
							
								
								BAN: Vector's and Queue's underlying type is T* instead of uint8_t*  
							
							... 
							
							
							
							I have no idea what kind of brainfart I had to make use uint8_t*
that just complicated the code :D 
							
						 
						
							2023-02-10 00:12:23 +02:00  
				
					
						
							
							
								 
						
							
								e5ffc1686f 
								
							 
						 
						
							
							
								
								BAN: Vector::const_iterator now uses const T* as underlying type  
							
							
							
						 
						
							2023-02-09 23:06:49 +02:00  
				
					
						
							
							
								 
						
							
								bfc9a2377c 
								
							 
						 
						
							
							
								
								BAN: LinkedList now uses iterators instead of const_iterators on methods  
							
							
							
						 
						
							2023-02-09 23:06:16 +02:00  
				
					
						
							
							
								 
						
							
								6a133782ed 
								
							 
						 
						
							
							
								
								All: Move to c++20  
							
							
							
						 
						
							2023-02-09 23:05:26 +02:00  
				
					
						
							
							
								 
						
							
								338771c5b0 
								
							 
						 
						
							
							
								
								BAN: Cleanup Vector code  
							
							... 
							
							
							
							*Applies to last patch also!*
Remove duplicate code in iterators. We used to have separate iterator
and const_iterator but now they are the same class with some enable_if
magic to disable references from const_iterator
This introduces some 'bad things' you can for example call
const_iterator.operator*<false>() to obtain non const reference. I
don't think this matters since you could use const_cast or something
else to work around const if you really tried 
							
						 
						
							2023-02-07 11:08:05 +02:00  
				
					
						
							
							
								 
						
							
								08dfb0e1db 
								
							 
						 
						
							
							
								
								BAN: Cleanup LinkedList code  
							
							
							
						 
						
							2023-02-06 19:01:52 +02:00  
				
					
						
							
							
								 
						
							
								2403df50bb 
								
							 
						 
						
							
							
								
								BAN: Add getter for Function size  
							
							
							
						 
						
							2023-02-02 23:19:18 +02:00  
				
					
						
							
							
								 
						
							
								0d2d6e5348 
								
							 
						 
						
							
							
								
								BAN: Fix all emplace functions to actually do perfect forwarding  
							
							
							
						 
						
							2023-02-01 21:41:51 +02:00  
				
					
						
							
							
								 
						
							
								99cf1c0330 
								
							 
						 
						
							
							
								
								BAN: Add destructor to function if it needs to deallocate something someday  
							
							
							
						 
						
							2023-02-01 21:41:18 +02:00  
				
					
						
							
							
								 
						
							
								9b8de5025a 
								
							 
						 
						
							
							
								
								All: rename every function from UpperCamelCase to snake_case  
							
							... 
							
							
							
							This was a mess since I didn't know which to use but now I decided
to go with snake_case :) 
							
						 
						
							2023-02-01 21:05:44 +02:00  
				
					
						
							
							
								 
						
							
								4faa662a59 
								
							 
						 
						
							
							
								
								BAN: Rewrite Traits and add some more of them  
							
							
							
						 
						
							2023-02-01 20:05:34 +02:00  
				
					
						
							
							
								 
						
							
								1945b716ad 
								
							 
						 
						
							
							
								
								BAN: Implement basic LinkedList  
							
							
							
						 
						
							2023-02-01 01:22:41 +02:00  
				
					
						
							
							
								 
						
							
								5127da9ecc 
								
							 
						 
						
							
							
								
								BAN: Add more traits  
							
							
							
						 
						
							2023-02-01 01:22:19 +02:00  
				
					
						
							
							
								 
						
							
								56d6b2af3d 
								
							 
						 
						
							
							
								
								BAN: TRY() now returns the error itself and not ErrorOr<>  
							
							... 
							
							
							
							This allows us to use TRY with different ErrorOr<> templates 
							
						 
						
							2023-02-01 01:21:14 +02:00  
				
					
						
							
							
								 
						
							
								3a1f068bac 
								
							 
						 
						
							
							
								
								BAN: Add needed include to Function  
							
							
							
						 
						
							2023-01-31 18:43:24 +02:00  
				
					
						
							
							
								 
						
							
								f10a57dcec 
								
							 
						 
						
							
							
								
								BAN: Add RefCounted<> and Unique<>  
							
							... 
							
							
							
							We have now maybe functional smart pointers 
							
						 
						
							2023-01-31 18:43:09 +02:00  
				
					
						
							
							
								 
						
							
								b315fdc27f 
								
							 
						 
						
							
							
								
								Kernel: Finally managed to get 64-bit working  
							
							... 
							
							
							
							I had weird problems with interrupts but everything should work now 
							
						 
						
							2023-01-25 19:19:28 +02:00  
				
					
						
							
							
								 
						
							
								7c6d474a3a 
								
							 
						 
						
							
							
								
								BAN: Add basic ScopeGuard  
							
							
							
						 
						
							2023-01-23 17:41:34 +02:00  
				
					
						
							
							
								 
						
							
								c9e32b1b5b 
								
							 
						 
						
							
							
								
								BAN: Cleanup Queue AddressOf functions  
							
							
							
						 
						
							2023-01-18 17:19:57 +02:00  
				
					
						
							
							
								 
						
							
								64f0cc0d42 
								
							 
						 
						
							
							
								
								BAN: fix Vector code  
							
							... 
							
							
							
							one return value was missing and AddressOf functions were kinda ugly 
							
						 
						
							2023-01-18 17:18:54 +02:00  
				
					
						
							
							
								 
						
							
								dd607ce86f 
								
							 
						 
						
							
							
								
								BAN: Add basic lambda support for BAN::Function  
							
							
							
						 
						
							2023-01-18 14:39:31 +02:00  
				
					
						
							
							
								 
						
							
								ef2e8f1a2f 
								
							 
						 
						
							
							
								
								BAN: Move RemoveReference and IsLValueReference to their own header  
							
							... 
							
							
							
							Also implement basic Less, Equal, Greater 
							
						 
						
							2023-01-18 13:39:08 +02:00  
				
					
						
							
							
								 
						
							
								59fa4055a6 
								
							 
						 
						
							
							
								
								BAN: Add Queue::Emplace()  
							
							
							
						 
						
							2023-01-17 12:02:59 +02:00  
				
					
						
							
							
								 
						
							
								1340e26148 
								
							 
						 
						
							
							
								
								BAN: Add Vector::Emplace and EmplaceBack() and fix insert assignment  
							
							
							
						 
						
							2023-01-17 11:59:36 +02:00  
				
					
						
							
							
								 
						
							
								cf63552b2a 
								
							 
						 
						
							
							
								
								BAN: Cleanup includes  
							
							
							
						 
						
							2023-01-17 11:38:16 +02:00  
				
					
						
							
							
								 
						
							
								a7a55cd0fb 
								
							 
						 
						
							
							
								
								BAN: Rename Forward.h -> ForwardList.h to avoid confusion with BAN::Forward()  
							
							
							
						 
						
							2023-01-17 11:21:21 +02:00  
				
					
						
							
							
								 
						
							
								53a5ad3cf9 
								
							 
						 
						
							
							
								
								BAN: Function now properly forward arguments  
							
							
							
						 
						
							2023-01-17 11:16:46 +02:00  
				
					
						
							
							
								 
						
							
								124afbecaa 
								
							 
						 
						
							
							
								
								BAN: Add Forward()  
							
							
							
						 
						
							2023-01-17 11:15:57 +02:00  
				
					
						
							
							
								 
						
							
								5122d27f89 
								
							 
						 
						
							
							
								
								BAN: Add Front() and Back() to StringView  
							
							
							
						 
						
							2023-01-16 18:56:51 +02:00  
				
					
						
							
							
								 
						
							
								3561257286 
								
							 
						 
						
							
							
								
								BAN: Add basic Function for function pointers and member functions  
							
							
							
						 
						
							2023-01-16 15:09:27 +02:00  
				
					
						
							
							
								 
						
							
								a02d4c59ed 
								
							 
						 
						
							
							
								
								BAN: Vector and Queue replace Address() with AddressOf and correct const  
							
							
							
						 
						
							2023-01-16 12:10:16 +02:00  
				
					
						
							
							
								 
						
							
								c62d512d68 
								
							 
						 
						
							
							
								
								BAN: Add Iterator and ConstIterator to Vector  
							
							
							
						 
						
							2023-01-13 17:48:19 +02:00  
				
					
						
							
							
								 
						
							
								57cbd728db 
								
							 
						 
						
							
							
								
								BAN: Rewrite Queue with move semantics  
							
							
							
						 
						
							2023-01-13 15:04:06 +02:00  
				
					
						
							
							
								 
						
							
								0f4e95acc5 
								
							 
						 
						
							
							
								
								BAN: Rewrite vector with move semantics  
							
							
							
						 
						
							2023-01-13 15:04:06 +02:00  
				
					
						
							
							
								 
						
							
								065e23d307 
								
							 
						 
						
							
							
								
								BAN: fix include  
							
							
							
						 
						
							2023-01-13 15:04:06 +02:00  
				
					
						
							
							
								 
						
							
								82a25f9035 
								
							 
						 
						
							
							
								
								BAN: implement placement new  
							
							
							
						 
						
							2023-01-13 14:45:27 +02:00  
				
					
						
							
							
								 
						
							
								61de71e0d5 
								
							 
						 
						
							
							
								
								BAN: Properly allocate/deallocate elements in Vector/Queue  
							
							
							
						 
						
							2023-01-13 01:09:40 +02:00  
				
					
						
							
							
								 
						
							
								6ed542d6bf 
								
							 
						 
						
							
							
								
								BAN: Queue and Vector now default initialize newly allocated elements  
							
							
							
						 
						
							2023-01-13 01:00:50 +02:00  
				
					
						
							
							
								 
						
							
								c35181a92f 
								
							 
						 
						
							
							
								
								BAN: ASSERT now prints the condition  
							
							
							
						 
						
							2023-01-13 00:57:47 +02:00  
				
					
						
							
							
								 
						
							
								53d1d12c12 
								
							 
						 
						
							
							
								
								BAN: String add operator=(StringView)  
							
							
							
						 
						
							2023-01-13 00:57:47 +02:00  
				
					
						
							
							
								 
						
							
								c33c6c5785 
								
							 
						 
						
							
							
								
								BAN: memcpy only if we already have a buffer  
							
							
							
						 
						
							2023-01-13 00:17:19 +02:00  
				
					
						
							
							
								 
						
							
								6b73547989 
								
							 
						 
						
							
							
								
								All: edit gcc flags  
							
							
							
						 
						
							2023-01-13 00:04:15 +02:00  
				
					
						
							
							
								 
						
							
								61bd9da8e0 
								
							 
						 
						
							
							
								
								BAN: Add [[nodiscard]] to BAN functions returning ErrorOr  
							
							
							
						 
						
							2023-01-12 23:57:07 +02:00  
				
					
						
							
							
								 
						
							
								78da037dda 
								
							 
						 
						
							
							
								
								BAN: String, Queue and Vector dont use floating point arithmetic  
							
							
							
						 
						
							2023-01-12 17:00:29 +02:00  
				
					
						
							
							
								 
						
							
								67308c36ad 
								
							 
						 
						
							
							
								
								BAN: ErrorOr<void> does not do an heap allocation anymore  
							
							
							
						 
						
							2023-01-12 00:11:54 +02:00  
				
					
						
							
							
								 
						
							
								d02e3b19c7 
								
							 
						 
						
							
							
								
								BAN: Move operator new/delete to BAN/Memory.cpp  
							
							... 
							
							
							
							We also now implement alignment new 
							
						 
						
							2023-01-10 21:59:40 +02:00  
				
					
						
							
							
								 
						
							
								6f9552d673 
								
							 
						 
						
							
							
								
								BAN: Add math to its own namespace  
							
							
							
						 
						
							2023-01-10 19:11:27 +02:00  
				
					
						
							
							
								 
						
							
								ee83cd3430 
								
							 
						 
						
							
							
								
								BAN: Implement basic static array  
							
							
							
						 
						
							2023-01-10 17:52:00 +02:00  
				
					
						
							
							
								 
						
							
								85068e27d6 
								
							 
						 
						
							
							
								
								BAN: BAN/Memory.h now provides the operator new and delete  
							
							
							
						 
						
							2023-01-10 17:51:33 +02:00  
				
					
						
							
							
								 
						
							
								1a65ea977d 
								
							 
						 
						
							
							
								
								BAN: Better ASSERT()  
							
							
							
						 
						
							2023-01-10 17:43:18 +02:00  
				
					
						
							
							
								 
						
							
								efd8638a96 
								
							 
						 
						
							
							
								
								Kernel: Improve kernel panic message and rename it 'panic'->'Panic'  
							
							
							
						 
						
							2023-01-09 21:57:03 +02:00  
				
					
						
							
							
								 
						
							
								b60af90538 
								
							 
						 
						
							
							
								
								BAN: Add min, max and clamp  
							
							
							
						 
						
							2022-12-30 19:52:16 +02:00  
				
					
						
							
							
								 
						
							
								f0fd62c703 
								
							 
						 
						
							
							
								
								BAN: Strings can now be constructed using BAN::Formatter  
							
							
							
						 
						
							2022-12-27 20:01:05 +02:00  
				
					
						
							
							
								 
						
							
								fd4fdffd46 
								
							 
						 
						
							
							
								
								BAN::Formatter now takes putc like function as a parameter  
							
							... 
							
							
							
							This allows us to use capturing lambdas as a putc like function 
							
						 
						
							2022-12-27 19:55:07 +02:00  
				
					
						
							
							
								 
						
							
								6732cabf20 
								
							 
						 
						
							
							
								
								BAN: StringView::Split now accepts a function  
							
							... 
							
							
							
							Original overload with char is not threadsafe anymore, but I don't
want to duplicate code :) 
							
						 
						
							2022-12-20 11:50:32 +02:00  
				
					
						
							
							
								 
						
							
								7ae00ac76e 
								
							 
						 
						
							
							
								
								BAN: Vector now has a Has() function  
							
							
							
						 
						
							2022-12-20 11:38:29 +02:00  
				
					
						
							
							
								 
						
							
								4c559f50a4 
								
							 
						 
						
							
							
								
								BAN: StringView::Split() now precomputes number of elements  
							
							... 
							
							
							
							We dont have to resize vector on PushBack()'s if we reserve required size 
							
						 
						
							2022-12-20 11:37:28 +02:00  
				
					
						
							
							
								 
						
							
								d5a068f90c 
								
							 
						 
						
							
							
								
								BAN: String and StringView don't have to compute strlen for equality  
							
							
							
						 
						
							2022-12-20 11:36:01 +02:00  
				
					
						
							
							
								 
						
							
								9fa3d891e9 
								
							 
						 
						
							
							
								
								BAN: Vector now has a copy constructor  
							
							
							
						 
						
							2022-12-15 17:28:12 +02:00  
				
					
						
							
							
								 
						
							
								c21766760b 
								
							 
						 
						
							
							
								
								Add strlen comparing back to StringView since it is not nullterminated  
							
							
							
						 
						
							2022-12-13 22:45:51 +02:00  
				
					
						
							
							
								 
						
							
								ced05ff5f2 
								
							 
						 
						
							
							
								
								BAN: use only memcmp when comparing string(view) with const char*  
							
							
							
						 
						
							2022-12-13 21:32:51 +02:00  
				
					
						
							
							
								 
						
							
								bf7a320050 
								
							 
						 
						
							
							
								
								BAN: Fix Time format printing  
							
							
							
						 
						
							2022-12-13 21:04:09 +02:00  
				
					
						
							
							
								 
						
							
								5345b6b8c3 
								
							 
						 
						
							
							
								
								BAN: overloaded operator== for more types  
							
							
							
						 
						
							2022-12-13 20:55:09 +02:00  
				
					
						
							
							
								 
						
							
								d806778a6d 
								
							 
						 
						
							
							
								
								BAN: Formatter now passes arguments as const references  
							
							... 
							
							
							
							We used to take everything by value, since I wasn't sure if I wanted
to overload bigger types 
							
						 
						
							2022-12-13 20:43:43 +02:00  
				
					
						
							
							
								 
						
							
								cb6dee9d91 
								
							 
						 
						
							
							
								
								BAN: Implement more basic functionality  
							
							... 
							
							
							
							String has more features
StringView was implemented
Basic move semantics are now working
Added file for forward declarations 
							
						 
						
							2022-12-13 20:41:32 +02:00  
				
					
						
							
							
								 
						
							
								941238830e 
								
							 
						 
						
							
							
								
								BAN: Now actually build libban :D  
							
							
							
						 
						
							2022-12-13 16:13:38 +02:00  
				
					
						
							
							
								 
						
							
								57b5e7ecf3 
								
							 
						 
						
							
							
								
								BAN: Add pragma once to String and Vector  
							
							
							
						 
						
							2022-12-13 15:15:36 +02:00  
				
					
						
							
							
								 
						
							
								b42469efd7 
								
							 
						 
						
							
							
								
								BAN: Vector now has Back() and Front() helpers  
							
							
							
						 
						
							2022-12-13 15:08:12 +02:00  
				
					
						
							
							
								 
						
							
								b491007eac 
								
							 
						 
						
							
							
								
								BAN: Default constructed string is now nullterminated  
							
							
							
						 
						
							2022-12-13 15:07:35 +02:00  
				
					
						
							
							
								 
						
							
								07f61d9b82 
								
							 
						 
						
							
							
								
								BAN: Implement basic vector  
							
							
							
						 
						
							2022-12-13 14:43:58 +02:00  
				
					
						
							
							
								 
						
							
								171a33bbcd 
								
							 
						 
						
							
							
								
								Kernel/BAN: Add weekday to Time structure and get it with RTC  
							
							
							
						 
						
							2022-12-13 14:37:10 +02:00  
				
					
						
							
							
								 
						
							
								00f230fcb2 
								
							 
						 
						
							
							
								
								BAN: Add basic String implementation  
							
							
							
						 
						
							2022-12-13 14:37:10 +02:00  
				
					
						
							
							
								 
						
							
								19307ce197 
								
							 
						 
						
							
							
								
								BAN: MUST() now returns the underlying value  
							
							
							
						 
						
							2022-12-13 14:37:10 +02:00  
				
					
						
							
							
								 
						
							
								b49a873d54 
								
							 
						 
						
							
							
								
								BAN: Add allocator/deallocator references for kernel/userspace  
							
							
							
						 
						
							2022-12-13 13:40:54 +02:00  
				
					
						
							
							
								 
						
							
								52c793bb5c 
								
							 
						 
						
							
							
								
								Kernel/BAN: Make Time a struct in BAN and add formatter to it  
							
							
							
						 
						
							2022-12-13 12:37:26 +02:00  
				
					
						
							
							
								 
						
							
								3cda527987 
								
							 
						 
						
							
							
								
								BAN: Rename BAN::Formatter argument overload thing  
							
							
							
						 
						
							2022-12-13 12:30:48 +02:00  
				
					
						
							
							
								 
						
							
								334abe6b27 
								
							 
						 
						
							
							
								
								Kernel: lol  
							
							
							
						 
						
							2022-12-13 12:12:15 +02:00  
				
					
						
							
							
								 
						
							
								835430e7b0 
								
							 
						 
						
							
							
								
								BAN: Move Formatter to new project called BAN  
							
							... 
							
							
							
							I also implemented basic ErrorOr and Queue 
							
						 
						
							2022-12-13 10:39:57 +02:00