Commit Graph

17 Commits

Author SHA1 Message Date
Bananymous 1c1a76d6d7 BAN: Member function pointers now use references instead of pointers
This seems cleaner as class pointer cannot be null anymore
2024-10-13 22:00:16 +03:00
Bananymous 44c7fde2f7 BAN: Fix Function requires clause argument forwariding 2024-06-27 00:33:50 +03:00
Bananymous 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
Bananymous 54db4ab215 BAN: Increase BAN::Function storage size to 8 pointers 2024-05-28 16:01:41 +03:00
Bananymous 4273f43be1 BAN: Move placement new to its own file and fix includes 2024-01-31 23:55:41 +02:00
Bananymous dfe5a2d665 All: Cleanup all files
Add newline to end of files and remove whitespace from end of lines
2024-01-24 15:53:38 +02:00
Bananymous e33bf62bba BAN: increase function size to 5 * sizeof(void*) 2023-08-22 14:52:03 +03:00
Bananymous 2746419c8c BAN: Function call is now const 2023-08-22 11:30:40 +03:00
Bananymous cfa025acae BAN: Move RefPtr to its own file and create New.h
New.h contains definitions for placement new operators and
BAN::allocator and BAN::dealloctor
2023-04-10 21:07:25 +03:00
Bananymous 392da37f9a BAN: Function storage is now aligned as CallableBase and not max_align_t
On 32 bit architecture the alignment of 16 bytes did not seem to work
on stack variables. UBSan detected whole lot of misaligned functions
from Ext2.cpp. This patch should make function alignment be big enough?
2023-03-09 01:42:17 +02:00
Bananymous 2403df50bb BAN: Add getter for Function size 2023-02-02 23:19:18 +02:00
Bananymous 99cf1c0330 BAN: Add destructor to function if it needs to deallocate something someday 2023-02-01 21:41:18 +02:00
Bananymous 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
Bananymous 3a1f068bac BAN: Add needed include to Function 2023-01-31 18:43:24 +02:00
Bananymous dd607ce86f BAN: Add basic lambda support for BAN::Function 2023-01-18 14:39:31 +02:00
Bananymous 53a5ad3cf9 BAN: Function now properly forward arguments 2023-01-17 11:16:46 +02:00
Bananymous 3561257286 BAN: Add basic Function for function pointers and member functions 2023-01-16 15:09:27 +02:00