llvm-project/libcxx/docs
Arthur O'Dwyer cb8a0b0797 [libc++] [ranges] Introduce _LIBCPP_AUTO_CAST(x) for auto(x).
Clang is gaining `auto(x)` support in D113393; sadly there
seems to be no feature-test macro for it. Zhihao is opening
a core issue for that macro.

Use `_LIBCPP_AUTO_CAST` where C++20 specifies we should use `auto(x)`;
stop using `__decay_copy(x)` in those places.
In fact, remove `__decay_copy` entirely. As of C++20, it's purely
a paper specification tool signifying "Return just `x`, but it was
perfect-forwarded, so we understand you're going to have to call
its move-constructor sometimes." I believe there's no reason we'd
ever need to do its operation explicitly in code.

This heisenbugs away a test failure on MinGW; see D112214.

Differential Revision: https://reviews.llvm.org/D115686
2021-12-22 12:29:42 -05:00
..
DesignDocs [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
Helpers [libc++][doc] Use issue labels. 2021-10-15 17:30:33 +02:00
Status [libc++] [ranges] Introduce _LIBCPP_AUTO_CAST(x) for auto(x). 2021-12-22 12:29:42 -05:00
AddingNewCIJobs.rst [libc++] Add timeout to BuildKite jobs 2021-08-09 15:31:04 -04:00
BuildingLibcxx.rst [runtimes] Remove support for GCC-style 32 bit multilib builds 2021-12-01 12:57:01 -05:00
CMakeLists.txt
Contributing.rst [libc++][NFC] Add link to Discord channel from documentation 2021-09-22 11:13:53 -04:00
FeatureTestMacroTable.rst [libc++] Implement P0798R8 (Monadic operations for std::optional) 2021-12-15 22:49:03 +01:00
README.txt [libc++] NFC: Add note about how the libcxx website gets updated 2021-07-05 10:25:33 -04:00
ReleaseNotes.rst [NFC] Fix typos in release notes. 2021-12-14 14:19:42 -08:00
TestingLibcxx.rst [libc++][Docs] Update benchmark doc wrt monorepo 2021-10-02 07:35:32 +05:30
UsingLibcxx.rst [libc++] Implement C++20's P0476R2: std::bit_cast 2021-09-09 11:05:54 -04:00
conf.py Bump the trunk major version to 14 2021-07-27 21:58:25 -07:00
index.rst [libcxx] [ci] Add CI configurations for MinGW 2021-11-17 10:00:50 +02: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.

The documentation in this directory is published at https://libcxx.llvm.org. It is kept up-to-date
by a build bot: https://lab.llvm.org/buildbot/#/builders/publish-sphinx-docs. If you notice that the
documentation is not updating anymore, please contact one of the maintainers.