Free instrument Library is a general-purpose C++ library principally header-only.
FiL provides various modern C++ features:
- CLI: Callback-based command line interface library.
- Algorithms & Datastructures: Common string algorithms, RNG, and specialized containers.
- File Reader: High-performance, memory-efficient file reading.
- FSM: Simple Finite State Machine implementation.
- SOA: Cache-friendly Structure of Arrays data structure.
- Database KV: Abstraction for Key-Value data stores (RocksDB, Redis, etc.).
- Cop: DEclarative COmbinatory PArser (generic descent parser).
- fmt : Formatting library (C++20 standard)
If using compiled version of the library with database kv
- rocksdb : Fast and reliable KV engine developed by Meta :
WITH_FIL_ROCKSDB - redis : Persistent KV in-memory database :
WITH_FIL_REDIS - couchbase : NoSQL performant database :
WITH_FIL_COUCHBASE
git
clone
git@github.com:FreeYourSoul/FiL.git
cd FiL
cmake -S . -Bbuild
sudo cmake --build build --target installNix Flakes is supported on this repository.
To build and install it using Nix Flakes:
nix build
# To install the package in your profile:
nix profile installFor development, you can use:
nix develop