The header-only part of the Lol Engine framework.
| header | description | examples |
|---|---|---|
<lol/narray> |
n-dimensional dynamic array containers | ● lol::narray<int, 4>● lol::array2d<float>, lol::array3d<uint8_t>● lol::narray_span<int, 4>● lol::span2d<uint8_t>, lol::span3d<float> |
| header | description | examples |
|---|---|---|
<lol/bigint> |
big integer calculations | |
<lol/half> |
half-precision (16-bit) floating point numbers | lol::half x = 2, y = 3;x /= y;float z = x; |
<lol/math> |
math constants, functions, random number generators, polynomials | |
<lol/noise> |
Perlin and simplex noise | |
<lol/real> |
arbitrary precision floating point numbers | |
<lol/transform> |
quaternion, matrix and SQT transformation utilities | |
<lol/vector> |
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()… |
| header | description | examples |
|---|---|---|
<lol/dialogs> |
portable file dialogs (imported from samhocevar/portable-file-dialogs) | |
<lol/file> |
file reading utilities | ● lol::read(filename, data) for any std::string or std::vector● lol::write(filename, data) |
<lol/format> |
ensure std::format is available, using a fallback if necessary |
|
<lol/msg> |
simple message logging | ● lol::msg::info("hello\n");● lol::msg::debug("%d %d\n", x, y);● also lol::msg::error, lol::msg::warn |
<lol/thread> |
threading and timing | ● lol::thread● lol::queue<int, 200> (thread-safe FIFO queue)● lol::timer (high precision timer) |
<lol/utils> |
various utilities: environment variables, std::map and std::vector extensions… |
| header | description | examples |
|---|---|---|
<lol/algo/suffix_array> |
suffix array for fast string searches (imported from storm-ptr/step) |
| header | description | examples |
|---|---|---|
<lol/color> |
colorspace conversions (RGB, sRGB, HSV…) | |
<lol/image> |
image loading, saving, and processing |
| header | description |
|---|---|
<lol/lib/cli11> |
the CLI11 command-line parsing library (imported from cliutils/cli11) |
<lol/lib/doctest> |
the doctest unit test framework (imported from doctest/doctest) |
<lol/lib/doctest_main> |
a version of doctest that implements main() |
<lol/lib/pegtl> |
the PEGTL parser (imported from taocpp/pegtl) |