Skip to content

Latest commit

 

History

History
72 lines (51 loc) · 1.48 KB

README.md

File metadata and controls

72 lines (51 loc) · 1.48 KB

Alternate Container Library

Build Coverage Status

This is a C++ library that provides various containers and algorithms. It requires C++20 and is designed for optimal performance.

Features

  • Multiple allocator implementations:

    • Arena allocator
    • Coalescing allocator
    • Linear allocator
    • Pool allocator
  • Containers:

    • Dynamic array
    • Small vector
    • SOA vector
    • Sparse vector
    • Table
    • Intrusive list
  • Serialization:

    • Binary serializer
    • YAML serializer
    • Input/Output serializers
  • Other utilities:

    • Scheduler
    • Microexpr (expression parser)
    • String utilities
    • Program arguments parser

Building

cmake -B build
cmake --build build

Testing

Tests can be enabled with:

cmake -B build -DACL_BUILD_TESTS=ON
cmake --build build
cd build/unit_tests
ctest

Options

  • ACL_BUILD_TESTS - Build unit tests (OFF by default)
  • ACL_TEST_COVERAGE - Enable test coverage reporting

Installation

The library can be installed using CMake:

cmake --install build

Documentation

Documentation is ongoing. Some documentation can be found here

License

This project is licensed under the MIT License.