Skip to content

FreeYourSoul/FiL

Repository files navigation

FiL

CI Linux Build Codacy Badge Codacy Badge License

Free instrument Library is a general-purpose C++ library principally header-only.

Features Summary

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).

Dependencies

  • 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

Install

Installation from sources

git
clone
git@github.com:FreeYourSoul/FiL.git
cd FiL
cmake -S . -Bbuild
sudo cmake --build build --target install

Using nix:

Nix 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 install

For development, you can use:

nix develop

About

Free instrumental Library(FiL) is a general purpose C++ library.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors