|
1 | 1 | /// @defgroup gl Graph Library (GL) |
2 | | -/// @brief Core graph models, structures, and utilities. |
| 2 | +/// @brief The main module containing the general-purpose template graph library implementation. |
3 | 3 | /// |
4 | | -/// @defgroup hgl Hypergraph Library (HGL) |
5 | | -/// @brief Core hypergraph models, structures, and utilities. |
| 4 | +/// This module encapsulates all standard graph representations, traversal algorithms, topology |
| 5 | +/// generators, and I/O utilities. It is heavily reliant on modern C++ paradigms, leveraging |
| 6 | +/// templates and concepts to provide a fast, generic, and type-safe graph API. |
| 7 | + |
| 8 | +/// @defgroup gl_core Core Graph Components |
| 9 | +/// @ingroup gl |
| 10 | +/// @brief Fundamental graph data structures, descriptors, and configuration tags. |
| 11 | +/// |
| 12 | +/// This group contains the primary building blocks of the library, including the main `gl::graph` class, |
| 13 | +/// graph element descriptors and the structural tags (i.e., directed vs. undirected and backend |
| 14 | +/// implementation tags) used to dictate graph behavior and memory layout. |
| 15 | + |
| 16 | +/// @defgroup gl_alg Graph Algorithms |
| 17 | +/// @ingroup gl |
| 18 | +/// @brief Common graph algorithms and algorithm-related utility. |
| 19 | +/// |
| 20 | +/// Provides generic, highly customizable implementations of classic graph algorithms. |
| 21 | +/// This includes standard search templates (BFS, DFS, PFS), shortest path finders |
| 22 | +/// (Dijkstra), minimum spanning trees (Prim), and topological sorting. Algorithms |
| 23 | +/// are designed to operate seamlessly via callbacks and property maps. |
| 24 | + |
| 25 | +/// @defgroup gl_topo Graph Topology Generators |
| 26 | +/// @ingroup gl |
| 27 | +/// @brief Generators and evaluators for standard graph topologies. |
| 28 | +/// |
| 29 | +/// A collection of utilities for quickly generating commong graph topologies. |
| 30 | +/// This includes cliques (complete graphs), bipartite graphs, binary trees, paths, and cycles. |
| 31 | + |
| 32 | +/// @defgroup gl_io Input/Output Utility |
| 33 | +/// @ingroup gl |
| 34 | +/// @brief I/O stream support, parsing, and range-based formatting. |
| 35 | +/// |
| 36 | +/// Facilities for reading, writing, and formatting graph data. This group provides the stream |
| 37 | +/// manipulators, configuration options, and format traits necessary to seamlessly serialize and |
| 38 | +/// visualize graph structures, and parse data from standard streams or files. |
| 39 | + |
| 40 | +/// @defgroup gl_traits Traits & Concepts |
| 41 | +/// @ingroup gl |
| 42 | +/// @brief Type traits, constraints, and metaprogramming utilities. |
| 43 | +/// |
| 44 | +/// Encapsulates the `gl::traits` namespace. These components are used extensively throughout the |
| 45 | +/// library to constrain template parameters and interrogate types at compile time (e.g., deducing |
| 46 | +/// underlying vertex/edge types, querying graph directedness, or enforcing structural constraints). |
| 47 | + |
| 48 | +/// @defgroup gl_types Generic Data Types |
| 49 | +/// @ingroup gl |
| 50 | +/// @brief Independent, reusable structures and containers. |
6 | 51 | /// |
7 | | -/// @defgroup gl_alg GL Algorithms |
| 52 | +/// Contains highly generic data structures like `flat_matrix` and `flat_jagged_vector`. |
| 53 | +/// While these form the memory backbone of the graph implementations, they are completely |
| 54 | +/// decoupled from the graph logic and can be safely utilized in general-purpose programming contexts. |
| 55 | + |
| 56 | +/// @defgroup gl_util General Utilities |
8 | 57 | /// @ingroup gl |
9 | | -/// @brief Algorithms for standard graphs. |
| 58 | +/// @brief Practical, domain-agnostic C++ helpers and polyfills. |
10 | 59 | /// |
11 | | -/// @defgroup hgl_alg HGL Algorithms |
12 | | -/// @ingroup hgl |
13 | | -/// @brief Algorithms for hypergraphs. |
| 60 | +/// While these utilities were built to facilitate the library's internal graph modeling |
| 61 | +/// and algorithms, they are completely decoupled from graph theory. They offer highly useful, |
| 62 | +/// reusable functionality that can be easily leveraged in any general C++ programming context. |
0 commit comments