xref: /openbsd-src/gnu/llvm/libcxx/docs/Status/Cxx17.rst (revision 4bdff4bed0e3d54e55670334c7d0077db4170f86)
176d0caaeSpatrick.. _cxx17-status:
276d0caaeSpatrick
376d0caaeSpatrick================================
476d0caaeSpatricklibc++ C++17 Status
576d0caaeSpatrick================================
676d0caaeSpatrick
776d0caaeSpatrick.. include:: ../Helpers/Styles.rst
876d0caaeSpatrick
976d0caaeSpatrick.. contents::
1076d0caaeSpatrick   :local:
1176d0caaeSpatrick
1276d0caaeSpatrick
1376d0caaeSpatrickOverview
1476d0caaeSpatrick================================
1576d0caaeSpatrick
1676d0caaeSpatrickIn November 2014, the C++ standard committee created a draft for the next version of the C++ standard, initially known as "C++1z".
1776d0caaeSpatrickIn February 2017, the C++ standard committee approved this draft, and sent it to ISO for approval as C++17.
1876d0caaeSpatrick
1976d0caaeSpatrickThis page shows the status of libc++; the status of clang's support of the language features is `here <https://clang.llvm.org/cxx_status.html#cxx17>`__.
2076d0caaeSpatrick
2176d0caaeSpatrick.. attention:: Features in unreleased drafts of the standard are subject to change.
2276d0caaeSpatrick
2376d0caaeSpatrickThe groups that have contributed papers:
2476d0caaeSpatrick
2576d0caaeSpatrick-  CWG - Core Language Working group
2676d0caaeSpatrick-  LWG - Library working group
2776d0caaeSpatrick-  SG1 - Study group #1 (Concurrency working group)
2876d0caaeSpatrick
2976d0caaeSpatrick.. note:: "Nothing to do" means that no library changes were needed to implement this change.
3076d0caaeSpatrick
3176d0caaeSpatrick.. _paper-status-cxx17:
3276d0caaeSpatrick
3376d0caaeSpatrickPaper Status
3476d0caaeSpatrick====================================
3576d0caaeSpatrick
3676d0caaeSpatrick.. csv-table::
3776d0caaeSpatrick   :file: Cxx17Papers.csv
3876d0caaeSpatrick   :header-rows: 1
3976d0caaeSpatrick   :widths: auto
4076d0caaeSpatrick
4176d0caaeSpatrick.. note::
4276d0caaeSpatrick
43*4bdff4beSrobert   .. [#note-P0067] P0067: ``std::(to|from)_chars`` for integrals has been available since version 7.0. ``std::to_chars`` for ``float`` and ``double`` since version 14.0 ``std::to_chars`` for ``long double`` uses the implementation for ``double``.
4476d0caaeSpatrick   .. [#note-P0607] P0607: The parts of P0607 that are not done are the ``<regex>`` bits.
45*4bdff4beSrobert   .. [#note-P0154] P0154: This is currently not implemented for clang because clang does not implement the required macros.
4676d0caaeSpatrick
4776d0caaeSpatrick.. _issues-status-cxx17:
4876d0caaeSpatrick
4976d0caaeSpatrickLibrary Working Group Issues Status
5076d0caaeSpatrick====================================
5176d0caaeSpatrick
5276d0caaeSpatrick.. csv-table::
5376d0caaeSpatrick   :file: Cxx17Issues.csv
5476d0caaeSpatrick   :header-rows: 1
5576d0caaeSpatrick   :widths: auto
56