# About The header-only part of the Lol Engine framework. ## Containers | header | description | examples | |--------|-------------|----------| | `` | n-dimensional dynamic array containers | ● `lol::narray`
● `lol::array2d`, `lol::array3d`
● `lol::narray_span`
● `lol::span2d`, `lol::span3d` | ## Math | header | description | examples | |--------|-------------|----------| | `` | big integer calculations | | | `` | half-precision (16-bit) floating point numbers | `lol::half x = 2, y = 3;`
`x /= y;`
`float z = x;` | | `` | math constants, functions, random number generators, polynomials | | | `` | Perlin and simplex noise | | | `` | arbitrary precision floating point numbers | | | `` | quaternion, matrix and SQT transformation utilities | | | `` | GLSL-compatible vector classes | ● `lol::vec2`, `lol::vec3`, `lol::vec4`
● `lol::ivec2`, `lol::ivec3`, `lol::ivec4`
● also: `lol::u8vec3`, `lol::f16vec4`, `lol::vec7`, `lol::ivec11`…
● swizzling: `v1 = v2.xyy;`, `v2 += v3.bgr;a`
● functions: `dot()`, `length()`, `min()`, `clamp()`… | ## Sytem | header | description | examples | |--------|-------------|----------| | `` | portable file dialogs (imported from [samhocevar/portable-file-dialogs](https://github.com/samhocevar/portable-file-dialogs)) | | | `` | file reading utilities | ● `lol::read(filename, data)` for any `std::string` or `std::vector`
● `lol::write(filename, data)` | | `` | ensure `std::format` is available, using a fallback if necessary | | | `` | simple message logging | ● `lol::msg::info("hello\n");`
● `lol::msg::debug("%d %d\n", x, y);`
● also `lol::msg::error`, `lol::msg::warn` | | `` | threading and timing | ● `lol::thread`
● `lol::queue` (thread-safe FIFO queue)
● `lol::timer` (high precision timer) | | `` | various utilities: environment variables, std::map and std::vector extensions… | | ## Text utilities | header | description | examples | |--------|-------------|----------| | `` | suffix array for fast string searches (imported from [storm-ptr/step](https://github.com/storm-ptr/step)) | | ## Graphics | header | description | examples | |--------|-------------|----------| | `` | colorspace conversions (RGB, sRGB, HSV…) | | | `` | image loading, saving, and processing | | ## External libraries | header | description | |--------|-------------| | `` | the CLI11 command-line parsing library (imported from [cliutils/cli11](https://github.com/CLIUtils/CLI11)) | | | `` | the doctest unit test framework (imported from [doctest/doctest](https://github.com/doctest/doctest)) | | `` | a version of doctest that implements `main()` | | `` | the PEGTL parser (imported from [taocpp/pegtl](https://github.com/taocpp/PEGTL)) |