llvm-project/libcxx/docs
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
..
DesignDocs [libc++] NFC: Rewrite the documentation for the debug mode 2021-06-08 16:50:12 -04:00
Helpers [libc++] [docs] Exclude helper files from Sphinx configuration to avoid generating empty pages. 2020-11-27 13:47:20 +01:00
AddingNewCIJobs.rst [libc++] Add documentation for setting up new CI jobs 2020-11-19 14:42:02 -05:00
BuildingLibcxx.rst [libcxx] Update docs regarding the need for bash/posix tools for tests on Windows. NFC. 2021-05-04 22:13:08 +03:00
CMakeLists.txt
Contributing.rst [libc++] Update contributor documentation. 2021-04-07 18:33:27 +02:00
Cxx1yStatus.rst [libc++] [docs] Add C++2b (to be C++23) status page. 2020-12-03 09:22:06 +01:00
Cxx1yStatusIssuesStatus.csv [libc++] [docs] Migrate C++ status pages to RestructuredText (RST). 2020-11-26 10:01:09 +01:00
Cxx1yStatusPaperStatus.csv [libc++] [docs] Migrate C++ status pages to RestructuredText (RST). 2020-11-26 10:01:09 +01:00
Cxx1zStatus.rst [libc++] [docs] Add C++2b (to be C++23) status page. 2020-12-03 09:22:06 +01:00
Cxx1zStatusIssuesStatus.csv [libc++] Fix LWG 2874: Constructor shared_ptr::shared_ptr(Y*) should be constrained. 2021-04-16 09:54:20 -04:00
Cxx1zStatusPaperStatus.csv [libc++] [docs] Migrate C++ status pages to RestructuredText (RST). 2020-11-26 10:01:09 +01:00
Cxx2aStatus.rst [libc++] [P0619] Hide not1 and not2 under _LIBCPP_ENABLE_CXX20_REMOVED_NEGATORS. 2021-05-25 16:57:16 -04:00
Cxx2aStatusIssuesStatus.csv [libc++][doc] Update format paper status. 2021-05-24 16:48:44 +02:00
Cxx2aStatusPaperStatus.csv [libcxx][optional] adds missing constexpr operations 2021-06-10 05:52:47 +00:00
Cxx2bStatus.rst [libc++][nfc] Test std::unique_ptr self move assignment. 2021-06-09 20:43:12 +02:00
Cxx2bStatusIssuesStatus.csv [libc++][nfc] Test std::unique_ptr self move assignment. 2021-06-09 20:43:12 +02:00
Cxx2bStatusPaperStatus.csv [libc++] [C++2b] [P2162] Allow inheritance from std::variant. 2021-03-25 18:20:50 +01:00
FeatureTestMacroTable.rst [libc++] [C++20] [P0586] Implement safe integral comparisons 2021-04-20 04:52:59 +05:30
FormatIssuePaperStatus.csv [libc++][doc] Update Format status. 2021-06-05 13:58:38 +02:00
FormatProposalStatus.csv [libc++][doc] Update Format status. 2021-06-05 13:58:38 +02:00
FormatStatus.rst [libc++][doc] Adds a Format library status page. 2021-04-24 16:38:18 +02:00
Makefile.sphinx Add design docs for upcoming file_time_type change. 2018-07-25 02:53:53 +00:00
OneRangesProposalStatus.csv [libcxx][ranges] Add `ranges::empty_view`. 2021-06-04 09:38:49 -07:00
README.txt
RangesIssuePaperStatus.csv [libc++][docs] Add status docs for ranges. 2021-04-13 17:59:42 -07:00
RangesStatus.rst [NFC][libc++] Fixes a documentation typo. 2021-04-14 19:33:03 +02:00
ReleaseNotes.rst [libc++] Disentangle std::pointer_safety 2021-05-03 14:33:49 -04:00
TestingLibcxx.rst [libc++] Move handling of the target triple to the DSL 2021-05-08 11:10:53 -04:00
UsingLibcxx.rst [libc++] [P0619] Hide not1 and not2 under _LIBCPP_ENABLE_CXX20_REMOVED_NEGATORS. 2021-05-25 16:57:16 -04:00
conf.py [docs] Automatically update copyright year in libc++. 2021-05-03 18:46:13 +02:00
index.rst [libc++] Remove the old HTML documentation 2021-06-08 11:18:12 -04:00

README.txt

libc++ Documentation
====================

The libc++ documentation is written using the Sphinx documentation generator. It is
currently tested with Sphinx 1.1.3.

To build the documents into html configure libc++ with the following cmake options:

  * -DLLVM_ENABLE_SPHINX=ON
  * -DLIBCXX_INCLUDE_DOCS=ON

After configuring libc++ with these options the make rule `docs-libcxx-html`
should be available.