#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 * - 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. */