index.html revision 8c21737c03f3b266d8679d56faa6b6d091e7f2f1
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 2 "http://www.w3.org/TR/html4/strict.dtd"> 3<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ --> 4<html> 5<head> 6 <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 7 <title>"libc++" C++ Standard Library</title> 8 <link type="text/css" rel="stylesheet" href="menu.css"> 9 <link type="text/css" rel="stylesheet" href="content.css"> 10</head> 11 12<body> 13<div id="menu"> 14 <div> 15 <a href="http://llvm.org/">LLVM Home</a> 16 </div> 17 18 <div class="submenu"> 19 <label>libc++ Info</label> 20 <a href="/index.html">About</a> 21 </div> 22 23 <div class="submenu"> 24 <label>Quick Links</label> 25 <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">llvmdev</a> 26 <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">llvm-commits</a> 27 <a href="http://llvm.org/bugs/">Bug Reports</a> 28 <a href="http://llvm.org/svn/llvm-project/compiler-rt/trunk/">Browse SVN</a> 29 <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/">Browse ViewVC</a> 30 </div> 31</div> 32 33<div id="content"> 34 <!--*********************************************************************--> 35 <h1>"libc++" C++ Standard Library</h1> 36 <!--*********************************************************************--> 37 38 <p>libc++ is a new implementation of the C++ standard library, targeting 39 C++0X.</p> 40 41 <p>All of the code in libc++ is available under the standard 42 <a href="http://llvm.org/docs/DeveloperPolicy.html#license">LLVM 43 License</a>, a "BSD-style" license.</p> 44 45 <!--=====================================================================--> 46 <h2 id="goals">Features and Goals</h2> 47 <!--=====================================================================--> 48 49 <ul> 50 <li>Correctness as defined by the (currently draft) C++0X standard.</li> 51 <li>Fast execution.</li> 52 <li>Minimal memory use.</li> 53 <li>Fast compile times.</li> 54 <li>ABI compatibility with gcc's libstdc++ for some low-level features 55 such as exception objects, rtti and memory allocation.</li> 56 <li>Extensive unit tests.</li> 57 </ul> 58 59 <!--=====================================================================--> 60 <h2 id="requirements">Platform Support</h2> 61 <!--=====================================================================--> 62 63 <p>libc++ is known to work on the following platforms, using g++-4.2 and 64 clang (lack of C++0X language support disables some functionality).</p> 65 66 <ul> 67 <li>Mac OS X i386</li> 68 <li>Mac OS X x86_64</li> 69 </ul> 70 71 <!--=====================================================================--> 72 <h2 id="dir-structure">Current Status</h2> 73 <!--=====================================================================--> 74 75 <p>libc++ is still under development. It has about 85% of 76 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3092.pdf">N3092</a> 77 implemented/tested.</p> 78 79 <ul> 80 <li>Missing <code><future></code></li> 81 <li>Missing <code><regex></code></li> 82 <li>Under construction <code><random></code></li> 83 </ul> 84 85 <p>libc++ is currently dependent upon a separate library for the low-level 86 ABI compatibility with gcc. As a workaround it can be linked against 87 gcc's libstdc++.</p> 88 89 <!--=====================================================================--> 90 <h2>Get it and get involved!</h2> 91 <!--=====================================================================--> 92 93 <p>To check out the code, use:</p> 94 95 <ul> 96 <li><code>svn co http://llvm.org/svn/llvm-project/libcpp/trunk libcpp</code></li> 97 <li><code>cd libcpp/lib</code></li> 98 <li><code>/buildit</code></li> 99 </ul> 100 101 <p>To run the libc++ test suit (recommended):</p> 102 103 <ul> 104 <li><code>cd libcpp/test</code></li> 105 <li><code>/testit</code></li> 106 </ul> 107 108 <p>Send discussions to the 109 (<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">clang mailing list</a>).</p> 110 111</div> 112</body> 113</html>