"libc++" C++ Standard Library
libc++ is a new implementation of the C++ standard library, targeting C++0X.
All of the code in libc++ is available under the standard LLVM License, a "BSD-style" license.
Features and Goals
- Correctness as defined by the (currently draft) C++0X standard.
- Fast execution.
- Minimal memory use.
- Fast compile times.
- ABI compatibility with gcc's libstdc++ for some low-level features such as exception objects, rtti and memory allocation.
- Extensive unit tests.
Platform Support
libc++ is known to work on the following platforms, using g++-4.2 and clang (lack of C++0X language support disables some functionality).
- Mac OS X i386
- Mac OS X x86_64
Current Status
libc++ is still under development. It has about 85% of N3092 implemented/tested.
- Missing
<future>
- Missing
<regex>
- Under construction
<random>
libc++ is currently dependent upon a separate library for the low-level ABI compatibility with gcc. As a workaround it can be linked against gcc's libstdc++.
Get it and get involved!
To check out the code, use:
svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx
cd libcxx/lib
./buildit
To run the libc++ test suit (recommended):
cd libcxx/test
./testit
Send discussions to the (clang mailing list).