Files
volaTile/sdi_toolBox_2.x.x/toolBox/sdi_toolBox/namespace_doc.h
Sylvain Schneider 888765ef6b code integration
2026-07-04 21:17:38 +02:00

95 lines
3.1 KiB
C++

#pragma once
// This file contains only Doxygen documentation for namespaces.
// No code should be added here.
/**
* @namespace sdi_toolBox
* @brief Root namespace for the sdi_toolBox library.
*/
/**
* @namespace sdi_toolBox::common
* @brief Cross-platform, reusable components shared across all sdi_toolBox modules.
*
* The common namespace groups utilities and building blocks that are not
* tied to any specific platform or subsystem (desktop, embedded, etc.)
* and can be freely used across the entire library.
*/
/**
* @namespace sdi_toolBox::common::utils
* @brief General-purpose utility functions shared across all sdi_toolBox modules.
*
* Provides lightweight, header-only helpers with no dependency on any
* specific platform or subsystem.
*/
/**
* @namespace sdi_toolBox::common::utils::hash
* @brief Lightweight hashing utilities (FNV-1a implementations).
*
* Provides constexpr, header-only implementations of the FNV-1a hashing
* algorithms (32-bit and 64-bit) with overloads that accept:
* - std::span<const std::byte>
* - std::string_view
* - trivially-copyable POD objects
*
* These utilities are intended for fast, deterministic hashing of byte
* sequences and simple value-based hashing of POD types. Implementations
* are usable in constexpr contexts for string literals and other compile-time
* scenarios.
*
* @note Use the POD overloads only for trivially-copyable types where
* hashing the raw memory representation is intended.
* @see fnv1a(), fnv1a_64()
*/
/**
* @namespace sdi_toolBox::desktop
* @brief Desktop-specific components of the sdi_toolBox library.
*/
/**
* @namespace sdi_toolBox::desktop::eventBus
* @brief Lightweight thread-safe event bus for decoupled message passing.
*
* The eventBus namespace provides a publish/subscribe messaging system that
* allows decoupled communication between components. It is built around three
* core concepts:
*
* - **Bus** : the central dispatcher that maintains a routing table and
* delivers messages to the appropriate subscribers.
* - **Node** : a subscriber attached to a Bus that can send and receive
* messages through its internal FIFO queue.
* - **Message** : the base class for all messages circulating in the bus,
* identified by a unique @ref MessageTypeID.
*
* Nodes can subscribe to specific message types or to broadcast mode.
* All operations are thread-safe.
*
* @see Bus
* @see Node
* @see Message
*/
/**
* @namespace sdi_toolBox::desktop::utils
* @brief General-purpose utility functions and helpers for desktop applications.
*/
/**
* @namespace sdi_toolBox::desktop::utils::uuid
* @brief Utility functions for UUID and unique identifier generation.
*
* Provides functions to generate unique identifiers in various formats:
* - @ref uniqid() : timestamp-based unique identifier (PHP-style).
* - @ref v4() : randomly generated UUID (RFC 4122 version 4).
* - @ref v7() : time-ordered UUID (RFC 4122 version 7).
*/
/**
* @namespace sdi_toolBox::desktop::wxWidgets
* @brief Namespace containing desktop UI utilities built on top of the wxWidgets framework.
*/