[libc] Add a library of standalone C++ utilities.
[lldb.git] / libc / utils / CPP / README.md
1 This directory contains re-implementations of some C++ standard library as well
2 as some LLVM utilities. These are to be used with internal LLVM libc code and
3 tests. More utilities will be added on an as needed basis. There are certain
4 rules to be followed for future changes and additions:
5
6 1. Only two kind of headers can be included: Other headers from this directory,
7 and free standing C headers.
8 2. Free standing C headers are to be included as C headers and not as C++
9 headers. That is, use `#include <stddef.h>` and not `#include <cstddef>`.
10 3. The utilities should be defined in the namespace `__llvm_libc::cpp`. The
11 higher level namespace should have a `__` prefix to avoid symbol name pollution
12 when the utilities are used in implementation of public functions.