- C 66.2%
- C++ 32.8%
- CMake 0.7%
- Meson 0.3%
|
Jari Ronkainen
ffc9c6c262
Update README.md
Signed-off-by: Jari Ronkainen <jari.ronkainen@sleepers.garden> |
||
|---|---|---|
| cmake | Clean up CMakeLists and generate ftl-config*.cmake | |
| docs | Improve config macros and add documentation | |
| include/ftl | Drop initial reservation size in case of no SBO | |
| tests | Update CMakeLists to correct headers | |
| .clang-tidy | Update clang-tidy | |
| CMakeLists.txt | Update CMakeLists to correct headers | |
| gcovr.cfg | Infrastructure improvements | |
| LICENCE.md | Make a licence file to be extra clear | |
| meson.build | Infrastructure improvements | |
| README.md | Update README.md | |
FTL
Or Freestanding Template Library. The goal is to have most (all) of the
stuff written here to be eventually compatible with -ffreestanding.
Provides some classes / containers for common use that the standard library does not. Tries to make some of them freestanding-compatible (such as ftl::array<>). With a freestanding-compatible allocator most of the allocator-aware containers can be used in freestanding, but there is some work to be done before that is the case.
Types provided are not strictly drop-in-replacements to std, or strictly
follow C++ named requirements, but they are quite close, so their use should
be pretty simple. They do not make guarantees the standard does with iterator invalidation, etc.
While meson is the main build system used, every release should have an
up-to-date CMakeLists.txt. CMake support master is not guaranteed to
be up to date in one way or another. If somebody who uses conan or some
other C++ package manager wants to write conanfile or equivalent and
contribute that to the project, that would be highly appreciated. One of
the goals of the project is to eventually be easily integratable.
All ftl headers use FTL_NAMESPACE definition as the namespace functionality
is defined in. This defaults to ftl. If more integration with user codebase
is wanted, it is possible to either #define FTL_NAMESPACE <whatever you want>
before including ftl headers or just pass -DFTL_NAMESPACE <whatever you want>
to the compiler via e.g. CMakeLists or meson.
Licence
The licence information is also contained at the end of the files, so generally, as they are header-only, you are good as long as you don't explicitly modify or remove the licence from those files no matter your use.