95 lines
3.1 KiB
C++
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.
|
|
*/
|