30 Commits

Author SHA1 Message Date
Chris Robinson
7c33c1b2e6 Use bool() instead of bool{} to cast
To work around a MinGW GCC 5 issue.
2022-04-25 21:11:10 -07:00
Chris Robinson
598c1aa224 Default initialize a union
To silence an errant GCC warning
2022-02-23 03:03:20 -08:00
Chris Robinson
f9ed6f85c8 Don't implicitly convert optionals to bools 2022-02-14 03:05:35 -08:00
Chris Robinson
278792eae7 Remove an unnecessary template parameter hack 2022-02-14 01:01:19 -08:00
Chris Robinson
ad9c2d77c8 Add a couple more methods to al::optional 2021-12-31 15:28:47 -08:00
Chris Robinson
bdc9d6955f Workaround a GCC bug with noexcept(this->...) 2021-11-14 05:59:06 -08:00
Chris Robinson
ad3d82c3f4 Fix up some al::optional ops 2021-11-08 16:48:33 -08:00
Chris Robinson
c06abe2dfe Make al::optional constexpr 2021-11-07 01:24:57 -08:00
Chris Robinson
6a3c4c09f8 Explicitly declare optional_storage's default constructor
This should help MSVC
2021-10-10 05:12:24 -07:00
Chris Robinson
87e88e97e2 Try again to satisfy MSVC 2021-10-09 08:41:08 -07:00
Chris Robinson
85d98e32ed Explicitly initialize the first union member 2021-10-09 05:56:39 -07:00
Chris Robinson
2d3b501fd8 Add more noexcept when possible
And try to fix MSVC missing a constructor
2021-10-09 05:30:16 -07:00
Chris Robinson
c893ca0491 Always define optional::operator=.
MSVC doesn't seem to like using enable_if for special member functions.
2021-10-09 03:39:33 -07:00
Chris Robinson
720bedb455 Make optional more trivial when possible 2021-10-08 18:08:48 -07:00
Chris Robinson
e3b8f8fe27 Make a construct_at method amd use it 2021-10-08 11:05:36 -07:00
Chris Robinson
440b59704c Fix al::optional operator* 2021-07-31 14:21:46 -07:00
Chris Robinson
b99adb623d Remove the invalid noexcept specification 2021-01-08 19:23:17 -08:00
Chris Robinson
1f51de9983 Make optional trivially destructible if the stored type is 2021-01-02 14:24:53 -08:00
Chris Robinson
d6495b35df Fix comment typo 2021-01-01 15:35:46 -08:00
Chris Robinson
4c0f77c13e Remove some unnecessary constructors 2020-12-27 06:43:59 -08:00
Chris Robinson
46234171d1 Clean up some C++11-isms 2020-03-22 21:15:12 -07:00
Chris Robinson
b9daffe159 Don't clean up more than necessary on destruction 2019-09-20 10:58:29 -07:00
Chris Robinson
f0408809d6 Cleanup common sources' includes 2019-07-29 09:29:35 -07:00
Chris Robinson
bc1d058d2d Add a helper to construct the optional value 2019-07-01 17:55:56 -07:00
Chris Robinson
6bb0edf0a5 Create and use a make_optional method 2019-07-01 17:25:58 -07:00
Chris Robinson
eb70171433 Add a few more constructor and assignment operators for optional 2019-07-01 16:27:49 -07:00
Chris Robinson
143ad16051 Use uninitialized_copy/move for optionals 2019-07-01 12:34:24 -07:00
Chris Robinson
871257b69e Some cleanup for optional 2019-07-01 10:44:55 -07:00
Chris Robinson
0066ac26f0 Add a missing return 2019-07-01 10:44:55 -07:00
Chris Robinson
689f70ce6d Add a simple optional<> implementation 2019-06-30 16:40:08 -07:00