<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
          "http://www.w3.org/TR/html4/strict.dtd">
<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
<html>
<head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>"libc++" C++ Standard Library</title>
  <link type="text/css" rel="stylesheet" href="menu.css">
  <link type="text/css" rel="stylesheet" href="content.css">
</head>

<body>
<div id="menu">
  <div>
    <a href="https://llvm.org/">LLVM Home</a>
  </div>

  <div class="submenu">
    <label>libc++ Info</label>
    <a href="/index.html">About</a>
  </div>

  <div class="submenu">
    <label>Quick Links</label>
    <a href="https://libcxxabi.llvm.org/">libc++abi</a>
    <a href="https://lists.llvm.org/mailman/listinfo/libcxx-dev">libcxx-dev</a>
    <a href="https://lists.llvm.org/mailman/listinfo/libcxx-commits">libcxx-commits</a>
    <a href="https://bugs.llvm.org/">Bug Reports</a>
    <a href="https://github.com/llvm/llvm-project/tree/master/libcxx/">Browse Sources</a>
  </div>
</div>

<div id="content">
  <!--*********************************************************************-->
  <h1>"libc++" C++ Standard Library</h1>
  <!--*********************************************************************-->

  <p>libc++ is an implementation of the C++ standard library, targeting
     C++11, C++14 and above.</p>

  <p>All of the code in libc++ is <a
     href="https://llvm.org/docs/DeveloperPolicy.html#license">dual licensed</a>
     under the MIT license and the UIUC License (a BSD-like license).</p>

  <!--=====================================================================-->
  <h2>New Documentation Coming Soon!</h2>
  <!--=====================================================================-->

  <p> Looking for documentation on how to use, build and test libc++? If so
      checkout the new libc++ documentation.</p>

  <p><a href="https://libcxx.llvm.org/docs/">
      Click here for the new libc++ documentation.</a></p>

  <!--=====================================================================-->
  <h2 id="goals">Features and Goals</h2>
  <!--=====================================================================-->

    <ul>
        <li>Correctness as defined by the C++11 standard.</li>
        <li>Fast execution.</li>
        <li>Minimal memory use.</li>
        <li>Fast compile times.</li>
        <li>ABI compatibility with gcc's libstdc++ for some low-level features
            such as exception objects, rtti and memory allocation.</li>
        <li>Extensive unit tests.</li>
    </ul>

  <!--=====================================================================-->
  <h2 id="why">Why a new C++ Standard Library for C++11?</h2>
  <!--=====================================================================-->

  <p>After its initial introduction, many people have asked "why start a new
     library instead of contributing to an existing library?" (like Apache's
     libstdcxx, GNU's libstdc++, STLport, etc).  There are many contributing
     reasons, but some of the major ones are:</p>

  <ul>
  <li><p>From years of experience (including having implemented the standard
      library before), we've learned many things about implementing
      the standard containers which require ABI breakage and fundamental changes
      to how they are implemented.  For example, it is generally accepted that
      building std::string using the "short string optimization" instead of
      using Copy On Write (COW) is a superior approach for multicore
      machines (particularly in C++11, which has rvalue references).  Breaking
      ABI compatibility with old versions of the library was
      determined to be critical to achieving the performance goals of
      libc++.</p></li>

  <li><p>Mainline libstdc++ has switched to GPL3, a license which the developers
      of libc++ cannot use.  libstdc++ 4.2 (the last GPL2 version) could be
      independently extended to support C++11, but this would be a fork of the
      codebase (which is often seen as worse for a project than starting a new
      independent one).  Another problem with libstdc++ is that it is tightly
       integrated with G++ development, tending to be tied fairly closely to the
       matching version of G++.</p>
    </li>

  <li><p>STLport and the Apache libstdcxx library are two other popular
      candidates, but both lack C++11 support.  Our experience (and the
      experience of libstdc++ developers) is that adding support for C++11 (in
      particular rvalue references and move-only types) requires changes to
      almost every class and function, essentially amounting to a rewrite.
      Faced with a rewrite, we decided to start from scratch and evaluate every
      design decision from first principles based on experience.</p>

      <p>Further, both projects are apparently abandoned: STLport 5.2.1 was
      released in Oct'08, and STDCXX 4.2.1 in May'08.</p>

    </ul>

  <!--=====================================================================-->
  <h2 id="requirements">Platform Support</h2>
  <!--=====================================================================-->

  <p>
    libc++ is known to work on the following platforms, using g++ and
    clang. Note that functionality provided by &lt;atomic&gt; is only functional with
    clang.
  </p>

  <ul>
    <li>Mac OS X i386</li>
    <li>Mac OS X x86_64</li>
    <li>FreeBSD 10+ i386</li>
    <li>FreeBSD 10+ x86_64</li>
    <li>FreeBSD 10+ ARM</li>
    <li>Linux i386</li>
    <li>Linux x86_64</li>
  </ul>

  <!--=====================================================================-->
  <h2 id="dir-structure">Current Status</h2>
  <!--=====================================================================-->

   <p>libc++ is a 100% complete C++11 implementation on Apple's OS X. </p>
   <p>LLVM and Clang can self host in C++ and C++11 mode with libc++ on Linux.</p>
   <p>libc++ is also a 100% complete C++14 implementation. A list of new features and
      changes for C++14 can be found <a href="cxx1y_status.html">here</a>.</p>
   <p>libc++'s C++17 implementation is not yet complete. A list of features and changes
      for C++17 can be found <a href="cxx1z_status.html">here</a>.</p>
   <p>A list of features and changes for the next C++ standard, known here as
      "C++2a" (probably to be C++20) can be found <a href="cxx2a_status.html">here</a>.</p>
   <p>Implementation of the post-C++14 Technical Specifications is in progress. A list of features
      and the current status of these features can be found <a href="ts1z_status.html">here</a>.</p>
   <p>As features get moved from the Technical Specifications into the main standard, we
      will (after a period for migration) remove them from the TS implementation. This
      process is detailed <a href="TS_deprecation.html">here</a>.</p>

   <!--======================================================================-->
   <h2 id="buildbots">Build Bots</h2>
   <!--======================================================================-->
   <p>The latest libc++ build results can be found at the following locations.</p>
   <ul>
      <li><a href="http://lab.llvm.org:8011/console">
        Buildbot libc++ builders
      </a></li>
      <li><a href="http://lab.llvm.org:8080/green/view/Libcxx/">
        Jenkins libc++ builders
      </a></li>
    </ul>

  <!--=====================================================================-->
  <h2>Get it and get involved!</h2>
  <!--=====================================================================-->

  <p>First please review our
     <a href="https://llvm.org/docs/DeveloperPolicy.html">Developer's Policy</a>.

    The documentation for building and using libc++ can be found below.
    <ul>
      <li><a href="https://libcxx.llvm.org/docs/UsingLibcxx.html">
        <b>Using libc++</b></a>
          Documentation on using the library in your programs</li>
      <li><a href="https://libcxx.llvm.org/docs/BuildingLibcxx.html">
        <b>Building libc++</b></a>
          Documentation on building the library using CMake</li>
      <li><a href="https://libcxx.llvm.org/docs/TestingLibcxx.html">
        <b>Testing libc++</b></a>
          Documentation for developers wishing to test the library</li>
    </ul>

  <!--=====================================================================-->
  <h3>Notes and Known Issues</h3>
  <!--=====================================================================-->

  <p>
    <ul>
      <li>
        Building libc++ with <code>-fno-rtti</code> is not supported. However
        linking against it with <code>-fno-rtti</code> is supported.
      </li>
    </ul>
  </p>

  <p>Send discussions to the
    <a href="https://lists.llvm.org/mailman/listinfo/libcxx-dev">libc++ mailing list</a>.</p>

  <!--=====================================================================-->
  <h2>Bug reports and patches</h2>
  <!--=====================================================================-->

  <p>
  If you think you've found a bug in libc++, please report it using
  the <a href="https://bugs.llvm.org/">LLVM Bugzilla</a>. If you're not sure, you
  can post a message to the <a href="https://lists.llvm.org/mailman/listinfo/libcxx-dev">libcxx-dev</a>
  mailing list or on IRC.
  </p>

  <p>
  If you want to contribute a patch to libc++, the best place for that is
  <a href="https://llvm.org/docs/Phabricator.html">Phabricator</a>. Please
  add libcxx-commits as a subscriber.
  </p>

  <!--=====================================================================-->
  <h2>Design Documents</h2>
  <!--=====================================================================-->

<ul>
<li><a href="atomic_design.html"><tt>&lt;atomic&gt;</tt></a></li>
<li><a href="type_traits_design.html"><tt>&lt;type_traits&gt;</tt></a></li>
<li><a href="https://cplusplusmusings.wordpress.com/2012/07/05/clang-and-standard-libraries-on-mac-os-x/">Excellent notes by Marshall Clow</a></li>
</ul>

</div>
</body>
</html>
