Bananymous
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
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
6873244169
BAN: Move placement new to New.h
...
I have no idea why they were defined in Move.h
2023-12-07 23:52:57 +02:00
Bananymous
805b4096e9
BAN: Remove empty else. Builds with -Wall -Wextra
2023-12-07 23:50:35 +02:00
Bananymous
2c52e0aad8
BAN: Variant with reference now supports copy/assign
2023-04-18 20:21:23 +03:00
Bananymous
06916f56be
BAN: Variant now works with references
...
References can be assigned with the set() method. Construction nor
assigment operators cannot be used with references to avoid ambiguity
with what assignment to reference does.
You can set the underlying reference with the set() method and access
it with the get() method.
The references are stored as pointers to the object under the hood
which means that size of a reference is sizeof pointer.
2023-04-18 19:53:34 +03:00
Bananymous
c3df0bd15e
BAN: Variant::set now copy/move assigns when possible
2023-04-18 19:10:22 +03:00
Bananymous
b41a8e2829
BAN: Variant now has variadic template types
2023-04-18 18:29:48 +03:00
Bananymous
c35e7368f2
BAN: Variant now aligns its data properly
2023-04-12 00:17:45 +03:00
Bananymous
10b6d51522
BAN: implement Variant<> for two types
2023-02-22 01:17:21 +02:00