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