diff --git a/README.md b/README.md index 268f6a8..9f6c247 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,21 @@

- seallib + 🦭seallib🦭

- A modular and tiny C++20 powered library collection of random stuff I've needed for other projects. + A modular and tiny C++20 powered library collection of random stuff I've needed for other projects.

+## Table of Contents +* [Installation & Integration](#installation--integration) +* [Build Options](#build-options) +* [Modules](#-modules) + * [Logging](#1-logging) + * [Assert](#2-assert) + * [Events](#3-events) + * [VFS](#4-vfs) +* [Running tests](#-running-tests) + ## Installation & Integration ### 1. Requirements @@ -49,6 +59,7 @@ target_link_libraries(your_project PRIVATE seallib) --- ## Build Options +Toggle features by setting these variables to ``ON`` or ``OFF`` in your CMake configuration. | Option | Description | Default | | :--- | :--- | :--- | | SEALLIB_ASSERT | Enable Assertion utility | OFF | @@ -59,9 +70,8 @@ target_link_libraries(your_project PRIVATE seallib) --- -## Module Instructions +## Modules - ### 1. Logging The Log module uses a Sink architecture. You create a Logger, attach an ILogSink, and log messages using std::format syntax. @@ -91,11 +101,9 @@ int main() { } ``` - ### 2. Assert (Documentation pending implementation) - ### 3. Events The Events module provides a thread and type safe signal/slot mechanism. It allows you to define custom events with any number of parameters and subscribe to them using callbacks. #### Basic Usage @@ -131,7 +139,6 @@ int main() { } ``` - ### 4. VFS The VFS (Virtual File System) module provides a unified interface for file operations by mapping virtual paths to user defined providers. @@ -214,7 +221,7 @@ int main() { --- -## Running Tests +## Running tests ### Windows (PowerShell + Visual Studio) A script is provided to automate generation and open the solution in Visual Studio: