mirror-llvm-project/libcxx/docs
inquisitivecrystal 23b3f21fd0
[libc++] Mark LWG3403 as complete (#208866)
LWG3403 specifies that `ranges::ssize` should work on non-range objects
for which `ranges::size` is valid. This has been true in libc++ since
6f1b10d, which first implemented `ranges::ssize` for libc++13. The tests
introduced by that commit are sufficient to verify compliance since they
test calling `ranges::ssize` with various non-range arguments.

In addition to marking LWG3403 as complete, this also updates the status
page entry for P1970R2, the paper that added `ranges::ssize`. P1970R2 was
previously marked complete in libc++15 as an approximation; however, it was
actually complete in libc++13.

Resolves #104280
2026-07-14 08:04:27 -04:00
..
DesignDocs [NFC] Fix "is is" typos (#206288) 2026-07-06 18:07:45 +00:00
Helpers
ReleaseNotes [libcxx][NFC] Move release notes for MSVC's implementation of exception_ptr (#208883) 2026-07-11 12:23:14 -07:00
Status [libc++] Mark LWG3403 as complete (#208866) 2026-07-14 08:04:27 -04:00
ABIGuarantees.rst [libc++] Add a size-based representation for vector in the unstable ABI (#155330) 2026-07-01 15:12:36 -04:00
AddingNewCIJobs.rst [libc++] Make CC and CXX environment variables mandatory in run-buildbot (#166875) 2025-12-02 08:58:00 -05:00
CMakeLists.txt
CodingGuidelines.rst [libc++] Rename container benchmarks for consistency and precision (#181178) 2026-03-11 13:49:09 -04:00
conf.py [docs] Create utils/docs (#203962) 2026-06-24 15:12:48 -04:00
Contributing.rst [libc++] Use correct Apple platform naming (#176290) 2026-01-19 10:30:21 -05:00
FeatureTestMacroTable.rst [libc++] Make <set> std::set constexpr as part of P3372R3 (#167241) 2026-07-01 07:20:25 +08:00
Hardening.rst [libc++][hardening] Allow setting the assertion semantic via CMake. (#167636) 2025-11-14 10:39:06 -08:00
ImplementationDefinedBehavior.rst [libc++] Fix filebuf resetting its underlying buffer upon close() (#168947) 2026-01-12 13:02:11 -05:00
index.rst [libc++] Document post-WG21-meeting conformance update procedure (#204357) 2026-06-17 12:39:48 -04:00
Modules.rst [libc++][NFC] Use llvm.org/PR to link to bug reports (#156288) 2025-09-04 09:20:02 +02:00
PostMeetingProcedure.rst [libc++] Create issues in batch in libcxx/utils/conformance (#204428) 2026-06-17 15:55:49 -04:00
README.txt
ReleaseNotes.rst [runtimes] Post-branch tasks for the LLVM 23 release (#176007) 2026-01-14 18:39:02 +00:00
ReleaseProcedure.rst [runtimes] Post-branch tasks for the LLVM 23 release (#176007) 2026-01-14 18:39:02 +00:00
TestingLibcxx.rst [libc++] Optionally support filecheck and split-file (#165769) 2026-04-08 21:04:22 -04:00
UserDocumentation.rst [libc++][hardening] Introduce assertion semantics. (#149459) 2025-07-29 00:19:15 -07:00
VendorDocumentation.rst [libc++] Introduce the notion of a minimum header version (#166074) 2026-01-09 11:58:29 +01:00

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.