llvm-project/libcxx
Christopher Di Bella 546449938a [libcxx][optional] adds missing constexpr operations
Makes the following operations constexpr:
  * `std::swap(optional, optional)`
  * `optional(optional<U> const&)`
  * `optional(optional<U>&&)`
  * `~optional()`
  * `operator=(nullopt_t)`
  * `operator=(U&&)`
  * `operator=(optional<U> const&)`
  * `operator=(optional<U>&&)`
  * `emplace(Args&&...)`
  * `emplace(initializer_list<U>, Args&&...)`
  * `swap(optional&)`
  * `reset()`

P2231 has been accepted by plenary, with the committee recommending
implementers retroactively apply to C++20. It's necessary for us to
implement _`semiregular-box`_ and _`non-propagating-cache`_, both of
which are required for ranges (otherwise we'll need to reimplement
`std::optional` with these members `constexpr`ified).

Differential Revision: https://reviews.llvm.org/D102119
2021-06-10 05:52:47 +00:00
..
benchmarks [libcxx][nfc] prefixes test type `input_iterator` with `cpp17_` 2021-05-02 05:02:59 +00:00
cmake [libc++] Fix libc++ build with assertions enabled 2021-06-09 12:58:53 -04:00
docs [libcxx][optional] adds missing constexpr operations 2021-06-10 05:52:47 +00:00
include [libcxx][optional] adds missing constexpr operations 2021-06-10 05:52:47 +00:00
lib [libc++] Disentangle std::pointer_safety 2021-05-03 14:33:49 -04:00
src [libc++] Fix libc++ build with assertions enabled 2021-06-09 12:58:53 -04:00
test [libcxx][optional] adds missing constexpr operations 2021-06-10 05:52:47 +00:00
utils [libc++] Fix libc++ build with assertions enabled 2021-06-09 12:58:53 -04:00
.clang-format [libcxx][NFC] removes IndentRequires from .clang-format 2021-04-15 19:28:45 +00:00
.gitignore [libcxx] Fix .gitignore to not exclude test directories 2020-03-25 17:52:23 -07:00
CMakeLists.txt [libc++] Support per-target __config_site in per-target runtime build 2021-04-28 14:27:16 -07:00
CREDITS.TXT [libcxx] Adds [concept.same] 2020-04-08 18:00:13 -04:00
LICENSE.TXT
TODO.TXT [libc++][NFC] Remove outdated TODO item 2020-07-08 13:04:33 -04:00
appveyor-reqs-install.cmd Attempt to upgrade compiler used by appveyor builds 2019-04-03 20:40:01 +00:00
appveyor.yml disable appveyor config for MSVC 2015 2019-04-03 20:36:51 +00:00