| .. _chapter-pw-minimal-cpp-stdlib: |
| |
| .. default-domain:: cpp |
| |
| --------------------- |
| pw_minimal_cpp_stdlib |
| --------------------- |
| The pw_minimal_cpp_stdlib module provides an extremely limited implementation of |
| the C++ Standard Library. This module falls far, far short of providing a |
| complete C++ Standard Library and should only be used in dire situations where |
| you happen to be compiling with C++17 but don't have a C++ Standard Library |
| available to you. |
| |
| The C++ Standard Library headers (e.g. ``<cstdint>`` and ``<type_traits>``) are |
| defined in ``public/``. These files are symlinks to their implementations in |
| ``public/internal/``. |
| |
| .. tip:: |
| |
| You can automatically recreate the symlinks in ``public/`` by executing the |
| following Bash code from ``pw_minimal_cpp_stdlib/public/``. |
| |
| .. code-block:: bash |
| |
| for f in $(ls internal/); do ln -s internal/$f ${f%.h}; done |
| |
| Requirments |
| =========== |
| - C++17 |
| - gcc or clang |
| - The C Standard Library |