Simon Brand
f632a98e84
Merge pull request #24 from TartanLlama/swappable
...
Swappable
2019-04-26 13:45:14 +01:00
Simon Brand
d2c6fa68c7
Move is_swappable implementation, correct MSC_VER check
2019-02-19 14:58:09 +00:00
Simon Brand
7ef0154330
Use correct is_swappable implementation for VS2017+
2019-02-19 10:57:43 +00:00
The Phantom Derpstorm
1de2f2a49c
[ constructors ] prevent empty optional access
...
optional types being taken in were forwarding their values without checking, resulting in segfaults on optional<U> -> optional<T> conversions. This fixes those problems in the constructors.
2019-02-13 09:00:07 -05:00
Simon Brand
5d3d6c399a
Add email address
...
Fixes #18
2019-02-11 11:38:24 +00:00
johvik
c194f73a07
Return value() in noexcept emplace
2019-01-23 08:38:31 +01:00
Alexander
99b2a15863
Misaligned template specifiers
...
Tried to compile with CLion + CLang + WSL, got error pointing to this place. Looks like a copy-paste error )
2018-11-22 22:49:33 +03:00
Simon Brand
dc02563d7b
Update version
2018-11-09 15:34:16 +00:00
Simon Brand
3449fbc904
Fix #15
2018-10-12 13:34:03 +01:00
Simon Brand
b53059c63d
Fix macro issue
2018-09-06 09:34:05 +01:00
Simon Brand
25f8f28a9a
Workaround MSVC2015 bug
2018-09-03 14:55:54 +01:00
Simon Brand
6c5e6d6477
More Clang fixes
2018-09-03 14:30:07 +01:00
Simon Brand
4d5453bc56
Add missing define
2018-09-03 13:49:56 +01:00
Simon Brand
068d3db664
Workaround libcxx issue
2018-09-03 12:10:22 +01:00
Simon Brand
aecb8fe6db
Fix #14
2018-09-03 09:09:47 +01:00
Simon Brand
8b1c3fb67f
Fix the other bad comment
2018-08-22 15:50:43 +01:00
Simon Brand
dd8ab0232e
Fix trivially destructible comment
2018-08-22 15:22:43 +01:00
Simon Brand
dc129ecf10
Only include vector workaround if vector is included
2018-08-22 15:22:16 +01:00
Simon Brand
bf0efe1625
Add vector workaround mutex
2018-08-22 15:21:31 +01:00
Simon Brand
9df8d1be39
Support std::vector of non-copyable types
2018-08-14 09:56:31 +01:00
Simon Brand
35e4c6e889
Remove unneeded file
2018-07-25 16:03:01 +01:00
Simon Brand
aa74eb709f
Add emplace test
2018-07-11 14:32:25 +01:00
Simon Brand
04b817f0d3
Correct GCC5.5 macro
2018-06-07 09:05:39 +01:00
Simon Brand
90b00674dd
More C++14 void fixes
2018-06-06 13:54:12 +01:00
Simon Brand
e0a542f960
More GCC 5.5 fixes
2018-06-06 11:24:10 +01:00
Simon Brand
b72cc392b6
Typo
2018-06-06 11:14:36 +01:00
Simon Brand
0dd57d441c
Merge branch 'master' of github.com:TartanLlama/optional
2018-06-06 10:27:13 +01:00
Simon Brand
9a1b033113
Fix GCC 5.5
2018-06-06 10:27:08 +01:00
Bj?rn Fahller
e8b28f2e34
and the obligatory fixup for C++-11 :-)
2018-06-03 15:01:57 +02:00
Bj?rn Fahller
5143f9577a
'optional<T&>::and_then(F&& f) &&' calls f with lvalue reference
...
This makes sense. The 'optional' is an rvalue, but its contained type
remains an lvalue reference. I.e.
int i = 3;
optional<int&>{i}.and_then([](int& r){return optional<int&>{++r});
The optional r-value still refers to 'i', which is not an r-value.
2018-06-03 12:09:17 +02:00
Simon Brand
779cf10329
Qualify call to detail::invoke so that std::invoke isn't picked up due to ADL in C++17
2018-05-28 21:46:58 +01:00
Simon Brand
94b7563fdf
Merge branch 'master' of github.com:TartanLlama/optional
2018-04-11 15:53:11 +01:00
Simon Brand
d8973a6524
Fix #8
2018-04-11 15:53:01 +01:00
Ivan Baidakou
10e687e188
Add return
2018-03-09 22:46:02 +03:00
Simon Brand
74a422b824
Rename map_impl
2018-03-05 11:04:09 +00:00
Simon Brand
27b2163d10
Merge branch 'reference'
2018-02-23 09:25:42 +00:00
Simon Brand
3452cc1c8c
Fix macro
2018-02-23 09:23:53 +00:00
Simon Brand
cb52a3b744
Remove rvalue observers for optional<T&>
2018-02-11 09:52:19 +00:00
Simon Brand
d7ec1da407
Fix map for reference types
2018-02-11 09:40:01 +00:00
Simon Brand
4bde006cb5
Fix map for reference types
2018-02-11 09:32:35 +00:00
Simon Brand
14cfd77197
Rename type trait macros
2018-01-14 07:38:34 +00:00
Simon Brand
8b408f5fd6
More docs
2017-12-18 10:51:48 +00:00
Simon Brand
c4e3b3ee14
Get references compiling, initial tests
2017-12-14 14:53:35 +00:00
Simon Brand
bdaa41ce8c
Initial support for references
2017-12-13 16:03:01 +00:00
Simon Brand
e589ae4321
Add static asserts
2017-12-13 11:34:33 +00:00
Simon Brand
6c73b8113f
Bases fix
2017-12-13 09:13:05 +00:00
Simon Brand
b3dc6d1a52
Put header in 'tl' folder
2017-12-05 19:51:42 +00:00