From 5b0fbc423181958e5a88dc84c0942de2ca33f240 Mon Sep 17 00:00:00 2001 From: SpectraL519 Date: Thu, 30 Apr 2026 12:00:20 +0200 Subject: [PATCH 1/9] removed duplcated gl group tags --- include/gl/algorithm/core.hpp | 20 ++++---- include/gl/algorithm/pathfinding/dijkstra.hpp | 12 ++--- .../gl/algorithm/spanning_tree/prim_mst.hpp | 6 +-- include/gl/algorithm/templates/bfs.hpp | 2 +- include/gl/algorithm/templates/dfs.hpp | 4 +- include/gl/algorithm/templates/pfs.hpp | 2 +- include/gl/algorithm/topology/coloring.hpp | 8 +-- .../algorithm/topology/topological_sort.hpp | 2 +- include/gl/algorithm/traits.hpp | 14 +++--- .../traversal/breadth_first_search.hpp | 2 +- .../traversal/depth_first_search.hpp | 4 +- include/gl/algorithm/util.hpp | 12 ++--- include/gl/constants.hpp | 12 ++--- include/gl/conversion.hpp | 10 ++-- include/gl/decl/impl_tags.hpp | 2 +- include/gl/directional_tags.hpp | 10 ++-- include/gl/edge_descriptor.hpp | 6 +-- include/gl/graph.hpp | 42 ++++++++-------- include/gl/graph_traits.hpp | 30 +++++------ include/gl/impl/impl_tags.hpp | 8 +-- include/gl/io/graph_fio.hpp | 10 ++-- include/gl/io/options.hpp | 20 ++++---- include/gl/io/options_manip.hpp | 28 +++++------ include/gl/io/ranges.hpp | 12 ++--- include/gl/topology/binary_tree.hpp | 4 +- include/gl/topology/bipartite.hpp | 2 +- include/gl/topology/clique.hpp | 2 +- include/gl/topology/cycle.hpp | 4 +- include/gl/topology/path.hpp | 4 +- include/gl/traits.hpp | 50 +++++++++---------- include/gl/types/core.hpp | 12 ++--- include/gl/types/flat_jagged_vector.hpp | 2 +- include/gl/types/flat_matrix.hpp | 2 +- include/gl/types/properties.hpp | 30 +++++------ include/gl/util/math.hpp | 4 +- include/gl/util/ranges.hpp | 12 ++--- include/gl/vertex_descriptor.hpp | 2 +- 37 files changed, 204 insertions(+), 204 deletions(-) diff --git a/include/gl/algorithm/core.hpp b/include/gl/algorithm/core.hpp index cec2293d..731505fc 100644 --- a/include/gl/algorithm/core.hpp +++ b/include/gl/algorithm/core.hpp @@ -18,7 +18,7 @@ namespace gl::algorithm { // --- general types --- -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief A tag type used to explicitly indicate the absence of a callback function. /// /// > [!NOTE] Performance vs. Empty Lambdas @@ -30,7 +30,7 @@ namespace gl::algorithm { /// > and speeds up compilation times. struct empty_callback {}; -/// @ingroup GL GL-Algorithm GL-Types +/// @ingroup GL-Algorithm GL-Types /// @brief Represents a generic tri-state decision for control flow. /// /// Used by custom predicates to determine how to proceed with a given item, execution step, or operation. @@ -78,7 +78,7 @@ struct decision { eval value; }; -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Tag used to statically dictate whether an algorithm should return a constructed result or execute purely for side effects. /// /// > [!NOTE] Namespace Availability @@ -96,7 +96,7 @@ enum class result_discriminator : bool { }; using enum result_discriminator; -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Resolves to the specified `ResultType` if `Result` is `ret`, otherwise resolves to `void`. /// /// ### See Also @@ -105,7 +105,7 @@ using enum result_discriminator; template using result_type = std::conditional_t; -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Resolves to the specified `ResultType` if `Result` is `ret`, otherwise resolves to `std::monostate`. /// /// Useful for returning dummy values from conditionally compiled algorithm branches. @@ -119,13 +119,13 @@ using non_void_result_type = // --- traversal types --- -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Maps a vertex ID to its predecessor's ID in a traversal tree. /// @tparam GraphType The type of the graph being traversed. template using predecessors_map = std::vector; -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Represents an active node in a search container (e.g., a BFS queue or DFS stack). /// @tparam GraphType The type of the graph being searched. template @@ -155,7 +155,7 @@ struct search_node { // --- constants --- -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Constant representing the absence of a root vertex ID for a specific ID type. /// /// ### See Also @@ -165,7 +165,7 @@ struct search_node { template inline constexpr IdType no_root_v = invalid_id_v; -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Tag type providing an implicit conversion to the appropriate `no_root_v` for any numeric ID type. /// /// ### See Also @@ -185,7 +185,7 @@ struct no_root_t { } }; -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Global constant representing the absence of a root vertex. /// /// ### See Also diff --git a/include/gl/algorithm/pathfinding/dijkstra.hpp b/include/gl/algorithm/pathfinding/dijkstra.hpp index b8414715..e653419d 100644 --- a/include/gl/algorithm/pathfinding/dijkstra.hpp +++ b/include/gl/algorithm/pathfinding/dijkstra.hpp @@ -15,7 +15,7 @@ namespace gl::algorithm { -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief A descriptor structure holding the results of a single-source shortest path execution. /// /// ### Template Parameters @@ -39,13 +39,13 @@ struct paths_descriptor { std::vector distances; }; -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief An alias for @ref gl::algorithm::paths_descriptor "paths_descriptor" that automatically deduces the appropriate distance type for the graph. /// @tparam G The type of the graph. template using paths_descriptor_type = paths_descriptor>; -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Factory function to create an initialized paths descriptor sized for the given graph. /// @tparam G The type of the graph. /// @param graph The graph to size the descriptor against. @@ -55,7 +55,7 @@ template return paths_descriptor_type{graph.n_vertices()}; } -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Internal node structure for Dijkstra's algorithm to snapshot distances and preserve heap invariants. /// /// This structure is used in the @ref gl::algorithm::dijkstra_shortest_paths "dijkstra_shortest_paths" algorithm @@ -74,7 +74,7 @@ struct dijkstra_search_node { distance; ///< The accumulated distance from the source to this vertex at the time of enqueueing. }; -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Computes the shortest paths from a single source vertex to all reachable vertices using Dijkstra's algorithm. /// /// This algorithm utilizes the generic @ref gl::algorithm::pfs "pfs" template using the dedicated @@ -203,7 +203,7 @@ template < return paths; } -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Reconstructs the sequence of vertices forming a path to a specific target. /// /// This utility walks backward through a predecessor map, starting from the `vertex_id` diff --git a/include/gl/algorithm/spanning_tree/prim_mst.hpp b/include/gl/algorithm/spanning_tree/prim_mst.hpp index 46f34677..06c44112 100644 --- a/include/gl/algorithm/spanning_tree/prim_mst.hpp +++ b/include/gl/algorithm/spanning_tree/prim_mst.hpp @@ -15,7 +15,7 @@ namespace gl::algorithm { -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief A descriptor structure holding the results of a Minimum Spanning Tree (MST) execution. /// /// @tparam G The type of the undirected graph. Must satisfy the [**c_undirected_graph**](gl_concepts.md#gl-traits-c-undirected-graph) concept. @@ -40,7 +40,7 @@ struct mst_descriptor { weight_type weight = static_cast(0); }; -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Computes the Minimum Spanning Tree (MST) of an undirected graph using Prim's algorithm with an edge-based priority queue. /// /// This implementation uses a standard binary heap (`std::priority_queue`) to store and sort edges based on their weight. @@ -133,7 +133,7 @@ template return mst; } -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Computes the Minimum Spanning Tree (MST) of an undirected graph using Prim's algorithm with a vertex-based array heap. /// /// This variation maintains a heap of vertex IDs based on their minimum known connection cost. diff --git a/include/gl/algorithm/templates/bfs.hpp b/include/gl/algorithm/templates/bfs.hpp index a87e8b83..9e91c4fb 100644 --- a/include/gl/algorithm/templates/bfs.hpp +++ b/include/gl/algorithm/templates/bfs.hpp @@ -15,7 +15,7 @@ namespace gl::algorithm { -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief A highly customizable, generic Breadth-First Search (BFS) algorithm engine. /// /// This template does not implement a specific algorithm (like finding a shortest path). diff --git a/include/gl/algorithm/templates/dfs.hpp b/include/gl/algorithm/templates/dfs.hpp index b9bf8db2..3a659157 100644 --- a/include/gl/algorithm/templates/dfs.hpp +++ b/include/gl/algorithm/templates/dfs.hpp @@ -15,7 +15,7 @@ namespace gl::algorithm { -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief A highly customizable, generic iterative Depth-First Search (DFS) algorithm engine. /// /// This engine provides the strict structural execution of a stack-based Depth-First Search. @@ -130,7 +130,7 @@ bool dfs( return true; } -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief A highly customizable, generic recursive Depth-First Search (DFS) algorithm engine. /// /// This engine mirrors the iterative `dfs` behavior but utilizes the C++ call stack. diff --git a/include/gl/algorithm/templates/pfs.hpp b/include/gl/algorithm/templates/pfs.hpp index 717befab..b44b5956 100644 --- a/include/gl/algorithm/templates/pfs.hpp +++ b/include/gl/algorithm/templates/pfs.hpp @@ -17,7 +17,7 @@ namespace gl::algorithm { -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief A highly customizable, generic Priority-First Search (PFS) algorithm engine. /// /// This template provides the strict structural execution of a priority queue-based search. diff --git a/include/gl/algorithm/topology/coloring.hpp b/include/gl/algorithm/topology/coloring.hpp index fbc5fb1d..99d24f88 100644 --- a/include/gl/algorithm/topology/coloring.hpp +++ b/include/gl/algorithm/topology/coloring.hpp @@ -12,11 +12,11 @@ namespace gl::algorithm { -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Alias for a container mapping vertex indices to their calculated binary (bipartite) colors. using bicoloring_type = std::vector; -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Attempts to compute a valid bipartite (2-color) coloring for the given graph. /// /// This algorithm utilizes the generic @ref gl::algorithm::bfs "bfs" template to traverse the graph and @@ -113,7 +113,7 @@ template < return coloring; } -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Convenience wrapper for the @ref gl::algorithm::bipartite_coloring "bipartite_coloring" algorithm to check if a graph is bipartite without extracting the exact coloring map. /// @param graph The graph to evaluate. /// @return `true` if the graph is bipartite (2-colorable), `false` otherwise. @@ -123,7 +123,7 @@ template < return bipartite_coloring(graph).has_value(); } -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Applies a computed range of binary colors to the property payload of each vertex in the graph. /// /// ### Template Parameters diff --git a/include/gl/algorithm/topology/topological_sort.hpp b/include/gl/algorithm/topology/topological_sort.hpp index 25b76e4b..adb07f06 100644 --- a/include/gl/algorithm/topology/topological_sort.hpp +++ b/include/gl/algorithm/topology/topological_sort.hpp @@ -12,7 +12,7 @@ namespace gl::algorithm { -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Computes a topological ordering of the vertices in a Directed Acyclic Graph (DAG). /// /// This implementation relies on Kahn's Algorithm. It utilizes the generic @ref gl::algorithm::bfs "bfs" diff --git a/include/gl/algorithm/traits.hpp b/include/gl/algorithm/traits.hpp index 5e841cbe..866c467b 100644 --- a/include/gl/algorithm/traits.hpp +++ b/include/gl/algorithm/traits.hpp @@ -13,12 +13,12 @@ namespace gl::traits { -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept checking if a given type is the @ref gl::algorithm::empty_callback "empty_callback" tag. template concept c_empty_callback = std::same_as; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept checking if a type is callable with specific arguments and returns a specific type. /// @tparam F The callable type. /// @tparam ReturnType The expected return type. @@ -26,27 +26,27 @@ concept c_empty_callback = std::same_as; template concept c_callback = std::is_invocable_r_v; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept allowing either a valid callback or the explicit absence of one through the use of @ref gl::algorithm::empty_callback "empty_callback". template concept c_optional_callback = c_empty_callback or c_callback; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept checking if a type is a boolean predicate callable with specific arguments. template concept c_predicate = std::predicate; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept allowing either a valid boolean predicate or the explicit absence of one through the use of @ref gl::algorithm::empty_callback "empty_callback". template concept c_optional_predicate = c_empty_callback or c_predicate; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept checking if a type is a predicate returning a @ref gl::algorithm::decision "decision". template concept c_decision_predicate = std::is_invocable_r_v; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept allowing either a valid decision predicate or the explicit absence of one. template concept c_optional_decision_predicate = c_empty_callback or c_decision_predicate; diff --git a/include/gl/algorithm/traversal/breadth_first_search.hpp b/include/gl/algorithm/traversal/breadth_first_search.hpp index 8897a8a9..a9dffea9 100644 --- a/include/gl/algorithm/traversal/breadth_first_search.hpp +++ b/include/gl/algorithm/traversal/breadth_first_search.hpp @@ -14,7 +14,7 @@ namespace gl::algorithm { -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Executes a concrete Breadth-First Search (BFS) traversal over the graph. /// /// This function utilizes the generic @ref gl::algorithm::bfs "bfs" template to perform a standard queue-based traversal. diff --git a/include/gl/algorithm/traversal/depth_first_search.hpp b/include/gl/algorithm/traversal/depth_first_search.hpp index 2a8571e7..cf660ac2 100644 --- a/include/gl/algorithm/traversal/depth_first_search.hpp +++ b/include/gl/algorithm/traversal/depth_first_search.hpp @@ -14,7 +14,7 @@ namespace gl::algorithm { -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Executes a concrete iterative Depth-First Search (DFS) traversal over the graph. /// /// This function utilizes the generic @ref gl::algorithm::dfs "dfs" template to perform a standard, stack-based traversal. @@ -123,7 +123,7 @@ result_type> depth_first_search( return pred_map; } -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Executes a concrete recursive Depth-First Search (DFS) traversal over the graph. /// /// This function relies on the generic @ref gl::algorithm::r_dfs "r_dfs" template. Instead of a diff --git a/include/gl/algorithm/util.hpp b/include/gl/algorithm/util.hpp index cd22042d..b7bfde13 100644 --- a/include/gl/algorithm/util.hpp +++ b/include/gl/algorithm/util.hpp @@ -14,7 +14,7 @@ namespace gl::algorithm { -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Initializes a predecessor map based on the static result discriminator. /// @tparam Result The compilation tag determining if the map should actually be built. /// @tparam G The type of the graph. @@ -30,7 +30,7 @@ init_predecessors_map(const G& graph) { return return_t(); } -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Checks if a specific vertex was reached during a traversal. /// @tparam IdType The integral type of the vertex ID. /// @param pred_map The predecessor map populated by the traversal. @@ -44,7 +44,7 @@ template return pred_map[to_idx(vertex_id)] != invalid_id; } -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Initializes a search container with the starting root vertex. /// @tparam G The type of the graph. /// @tparam InitRangeType The underlying container type for the container. @@ -58,7 +58,7 @@ template < return InitRangeType{search_node{root_vertex_id}}; } -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Generates a default lambda predicate that checks if a vertex has not yet been visited. /// @param visited A reference to the boolean array tracking visited vertices. /// @return A callable predicate evaluating to `true` if the vertex is unvisited. @@ -66,7 +66,7 @@ template < return [&](traits::c_id_type auto vertex_id) -> bool { return not visited[to_idx(vertex_id)]; }; } -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Generates a default lambda callback that marks a vertex as visited and updates the predecessor map. /// @tparam G The type of the graph. /// @tparam Result The static discriminator indicating if the predecessor map should be updated. @@ -88,7 +88,7 @@ template }; } -/// @ingroup GL GL-Algorithm +/// @ingroup GL-Algorithm /// @brief Generates a default lambda predicate that checks if a node corresponding to an adjacent vertex should be enqueued into the search container. /// @tparam G The type of the graph. /// @tparam AsDecision If `true`, the generated predicate returns a @ref gl::algorithm::decision "decision" instead of a raw boolean. diff --git a/include/gl/constants.hpp b/include/gl/constants.hpp index e0412216..0d9b07dc 100644 --- a/include/gl/constants.hpp +++ b/include/gl/constants.hpp @@ -13,7 +13,7 @@ namespace gl { -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief A constant representing the initial ID value of 0 for graph elements. /// @tparam IdType The type of the ID, which must satisfy the [**c_id_type**](gl_concepts.md#gl-traits-c-id-type) concept. /// ### See Also @@ -23,7 +23,7 @@ namespace gl { template inline constexpr IdType initial_id_v{0}; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief A helper type that can be implicitly converted to the initial ID value of 0 for any valid ID type. /// ### See Also /// - [**c_id_type**](gl_concepts.md#gl-traits-c-id-type) @@ -37,7 +37,7 @@ struct initial_id_t { } }; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief An `initial_id_t` tag constant that can be used to represent the initial ID value of 0 for graph elements in a type-safe manner. /// /// ### Example Usage @@ -56,7 +56,7 @@ inline constexpr initial_id_t initial_id{}; // --- invalid id --- -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief A constant representing the invalid ID value for graph elements, defined as the maximum value of the specified ID type. /// @tparam IdType The type of the ID, which must satisfy the [**c_id_type**](gl_concepts.md#gl-traits-c-id-type) concept. /// ### See Also @@ -66,7 +66,7 @@ inline constexpr initial_id_t initial_id{}; template inline constexpr IdType invalid_id_v{std::numeric_limits::max()}; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief A helper type that can be implicitly converted to the invalid ID value for any valid ID type. /// ### See Also /// - [**c_id_type**](gl_concepts.md#gl-traits-c-id-type) @@ -95,7 +95,7 @@ struct invalid_id_t { } }; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief An `invalid_id_t` tag constant that can be used to represent the invalid ID value for graph elements in a type-safe manner. /// /// ### Example Usage diff --git a/include/gl/conversion.hpp b/include/gl/conversion.hpp index a2e9e85e..ba6f1755 100644 --- a/include/gl/conversion.hpp +++ b/include/gl/conversion.hpp @@ -19,7 +19,7 @@ namespace gl { namespace traits { -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Utility trait type used to swap the implementation tag of a graph traits or graph type. /// ### See Also: /// - @ref gl::to "to" : For the function that utilizes this trait to perform graph conversions between different implementations. @@ -27,7 +27,7 @@ template requires c_graph or c_instantiation_of struct swap_impl_tag; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Specialization of @ref gl::traits::swap_impl_tag "swap_impl_tag" for the @ref gl::graph_traits "graph_traits" type. template < traits::c_graph_directional_tag Dir, @@ -40,7 +40,7 @@ struct swap_impl_tag, NewImplTag> using type = graph_traits; }; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Specialization of @ref gl::traits::swap_impl_tag "swap_impl_tag" for the @ref gl::graph "graph" class. template < traits::c_graph_directional_tag Dir, @@ -53,7 +53,7 @@ struct swap_impl_tag>, NewIm using type = graph>; }; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Alias template for easier usage of the @ref gl::traits::swap_impl_tag "swap_impl_tag" trait to resolve the swapped type directly. /// ### See Also: /// - @ref gl::to "to" : For the function that utilizes this trait to perform graph conversions between different implementations. @@ -159,7 +159,7 @@ struct to_impl { } // namespace detail -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @headerfile gl/conversion.hpp /// @brief Converts a graph from one implementation model to another. /// diff --git a/include/gl/decl/impl_tags.hpp b/include/gl/decl/impl_tags.hpp index 02844ce9..aafabdd6 100644 --- a/include/gl/decl/impl_tags.hpp +++ b/include/gl/decl/impl_tags.hpp @@ -25,7 +25,7 @@ struct flat_matrix_t; namespace traits { -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Validates if a type is one of the defined graph implementation tags. /// /// This concept is used to constrain template parameters that are expected to be diff --git a/include/gl/directional_tags.hpp b/include/gl/directional_tags.hpp index 104a91bd..9aa500ef 100644 --- a/include/gl/directional_tags.hpp +++ b/include/gl/directional_tags.hpp @@ -19,7 +19,7 @@ struct undirected_t; namespace traits { -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Validates if a type is a valid graph directional tag. /// /// The valid graph directional tags are @ref gl::directed_t "directed_t" and @ref gl::undirected_t "undirected_t". @@ -40,7 +40,7 @@ class edge_descriptor; namespace traits { -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept to validate if a type is an instantiation of @ref gl::edge_descriptor "edge_descriptor" with the @ref gl::directed_t "directed_t" tag. /// @tparam T The type to evaluate against the concept. template @@ -48,7 +48,7 @@ concept c_directed_edge = c_instantiation_of and std::same_as; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept to validate if a type is an instantiation of @ref gl::edge_descriptor "edge_descriptor" with the @ref gl::undirected_t "undirected_t" tag. /// @tparam T The type to evaluate against the concept. template @@ -58,7 +58,7 @@ concept c_undirected_edge = } // namespace traits -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @headerfile gl/directional_tags.hpp /// @brief The tag type representing a directed graph configuration. /// @@ -100,7 +100,7 @@ struct directed_t { } }; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @headerfile gl/directional_tags.hpp /// @brief The tag type representing an undirected graph configuration. /// diff --git a/include/gl/edge_descriptor.hpp b/include/gl/edge_descriptor.hpp index 70edafec..a567cf12 100644 --- a/include/gl/edge_descriptor.hpp +++ b/include/gl/edge_descriptor.hpp @@ -19,7 +19,7 @@ namespace gl { -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief A lightweight wrapper representing a graph edge with its endpoints and optional properties. /// /// The `edge_descriptor` class provides a type-safe and efficient way to represent @@ -372,7 +372,7 @@ class edge_descriptor final { std::reference_wrapper> _properties; }; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Type alias for a directed edge descriptor. /// /// Pre-binds the `DirectionalTag` of `edge_descriptor` to `directed_t`. @@ -387,7 +387,7 @@ template < traits::c_id_type IdType = default_id_type> using directed_edge = edge_descriptor; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Type alias for an undirected edge descriptor. /// /// Pre-binds the `DirectionalTag` of `edge_descriptor` to `undirected_t`. diff --git a/include/gl/graph.hpp b/include/gl/graph.hpp index f602bbd7..691f8fc9 100644 --- a/include/gl/graph.hpp +++ b/include/gl/graph.hpp @@ -30,37 +30,37 @@ class graph; namespace traits { -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept checking if a type is an instantiation of the generic @ref "gl::graph" graph class. template concept c_graph = c_instantiation_of; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept checking if a graph is directed. /// @see gl::directed_t "directed_t" : For the directional tag used to specify directed graph configuration. template concept c_directed_graph = c_graph and c_directed_edge; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept checking if a graph is undirected. /// @see gl::undirected_t "undirected_t" : For the directional tag used to specify undirected graph configuration. template concept c_undirected_graph = c_graph and c_undirected_edge; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept checking if a graph utilizes the standard adjacency list implementation. /// @see gl::impl::list_t "list_t" : For the implementation tag used to specify the standard adjacency list representation. template concept c_list_graph = c_graph and std::same_as; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept checking if a graph utilizes the flattened adjacency list implementation. /// @see gl::impl::flat_list_t "flat_list_t" : For the implementation tag used to specify the flattened adjacency list representation. template concept c_flat_list_graph = c_graph and std::same_as; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept checking if a graph utilizes any list-based adjacency implementation. /// ### See Also /// - @ref gl::impl::list_t "list_t" : For the implementation tag used to specify the standard adjacency list representation. @@ -68,21 +68,21 @@ concept c_flat_list_graph = template concept c_adjacency_list_graph = c_list_graph or c_flat_list_graph; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept checking if a graph utilizes the standard adjacency matrix implementation. /// @see gl::impl::matrix_t "matrix_t" : For the implementation tag used to specify the standard adjacency matrix representation. template concept c_matrix_graph = c_graph and std::same_as; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept checking if a graph utilizes the flattened adjacency matrix implementation. /// @see gl::impl::flat_matrix_t "flat_matrix_t" : For the implementation tag used to specify the flattened adjacency matrix representation. template concept c_flat_matrix_graph = c_graph and std::same_as; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept checking if a graph utilizes any matrix-based adjacency implementation. /// ### See Also /// - @ref gl::impl::matrix_t "matrix_t" : For the implementation tag used to specify the standard adjacency matrix representation. @@ -105,7 +105,7 @@ struct to_impl; } // namespace detail -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief The generic graph container using a policy-based architecture. /// /// This class relies on the provided `GraphTraits` to determine its behavior, element @@ -1409,7 +1409,7 @@ class graph final { // --- general graph utility --- -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Creates a deep copy of the given graph. /// @tparam Graph The type of the graph. /// @param source The graph instance to clone. @@ -1419,7 +1419,7 @@ template return Graph(source); } -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Convenience alias for defining a directed graph. template < traits::c_properties VertexProperties = empty_properties, @@ -1429,7 +1429,7 @@ template < using directed_graph = graph>; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Convenience alias for defining a nundirected graph. template < traits::c_properties VertexProperties = empty_properties, @@ -1439,7 +1439,7 @@ template < using undirected_graph = graph>; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Convenience alias for defining a graph utilizing an adjacency list implementation model. template < traits::c_graph_directional_tag DirectionalTag = directed_t, @@ -1449,7 +1449,7 @@ template < using list_graph = graph>; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Convenience alias for defining a graph utilizing an adjacency matrix implementation model. template < traits::c_graph_directional_tag DirectionalTag = directed_t, @@ -1459,7 +1459,7 @@ template < using matrix_graph = graph>; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Convenience alias for defining a graph utilizing a flattened adjacency list implementation model. template < traits::c_graph_directional_tag DirectionalTag = directed_t, @@ -1469,7 +1469,7 @@ template < using flat_list_graph = graph>; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Convenience alias for defining a graph utilizing a flattened adjacency matrix implementation model. template < traits::c_graph_directional_tag DirectionalTag = directed_t, @@ -1484,7 +1484,7 @@ using flat_matrix_graph = /// @brief Default numeric type representing distances between vertices in unweighted graphs. using default_vertex_distance_type = std::int64_t; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Utility trait to resolve the underlying distance or weight numeric type for a graph. template struct vertex_distance { @@ -1492,7 +1492,7 @@ struct vertex_distance { using type = default_vertex_distance_type; }; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Specialization resolving the specific weight type when edge properties contain weight attributes. template requires(traits::c_weight_properties_type) @@ -1501,12 +1501,12 @@ struct vertex_distance { using type = typename GraphType::edge_properties_type::weight_type; }; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Convenience alias to retrieve the appropriate distance numeric type from a graph structure. template using vertex_distance_type = typename vertex_distance::type; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Helper utility to safely retrieve the weight payload of an edge. /// /// Automatically returns a constant default if the graph representation carries no attached weight properties. diff --git a/include/gl/graph_traits.hpp b/include/gl/graph_traits.hpp index 1fc3fe93..89d678ee 100644 --- a/include/gl/graph_traits.hpp +++ b/include/gl/graph_traits.hpp @@ -15,7 +15,7 @@ namespace gl { -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Primary graph traits structure that encapsulates all necessary type information for graph implementations. /// /// This structure serves as the central point for defining the properties and types associated with a graph, @@ -73,7 +73,7 @@ struct graph_traits { using edge_properties_type = typename edge_type::properties_type; }; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Type alias for graph traits with an adjacency list implementation. /// /// This alias simplifies the specification of graph traits for graphs that use an adjacency list representation, @@ -93,7 +93,7 @@ template < using list_graph_traits = graph_traits; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Type alias for graph traits with a flattened adjacency list implementation. /// /// This alias simplifies the specification of graph traits for graphs that use a flattened adjacency list representation, @@ -113,7 +113,7 @@ template < using flat_list_graph_traits = graph_traits; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Type alias for graph traits with an adjacency matrix implementation. /// /// This alias simplifies the specification of graph traits for graphs that use an adjacency matrix representation, @@ -133,7 +133,7 @@ template < using matrix_graph_traits = graph_traits; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Type alias for graph traits with a flattened adjacency matrix implementation. /// /// This alias simplifies the specification of graph traits for graphs that use a flattened adjacency matrix representation, @@ -153,7 +153,7 @@ template < using flat_matrix_graph_traits = graph_traits; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Type alias for graph traits with an directed graph configuration. /// /// This alias simplifies the specification of graph traits for directed graphs, allowing users to easily define their @@ -171,7 +171,7 @@ template < using directed_graph_traits = graph_traits; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @brief Type alias for graph traits with an undirected graph configuration. /// /// This alias simplifies the specification of graph traits for undirected graphs, allowing users to easily define their @@ -191,7 +191,7 @@ using undirected_graph_traits = namespace traits { -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept to validate if a type is an instantiation of @ref gl::graph_traits "graph_traits" with a list implementation. /// @tparam TraitsType The type to evaluate against the concept. template @@ -199,7 +199,7 @@ concept c_list_graph_traits = c_instantiation_of and std::same_as; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept to validate if a type is an instantiation of @ref gl::graph_traits "graph_traits" with a flattened adjacency list implementation. /// @tparam TraitsType The type to evaluate against the concept. template @@ -207,14 +207,14 @@ concept c_flat_list_graph_traits = c_instantiation_of and std::same_as; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept to validate if a type is an instantiation of @ref gl::graph_traits "graph_traits" with an adjacency list implementation (either standard or flattened). /// @tparam TraitsType The type to evaluate against the concept. template concept c_adjacency_list_graph_traits = c_list_graph_traits or c_flat_list_graph_traits; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept to validate if a type is an instantiation of @ref gl::graph_traits "graph_traits" with a matrix implementation. /// @tparam TraitsType The type to evaluate against the concept. template @@ -222,7 +222,7 @@ concept c_matrix_graph_traits = c_instantiation_of and std::same_as; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept to validate if a type is an instantiation of @ref gl::graph_traits "graph_traits" with a flattened adjacency matrix implementation. /// @tparam TraitsType The type to evaluate against the concept. template @@ -230,14 +230,14 @@ concept c_flat_matrix_graph_traits = c_instantiation_of and std::same_as; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept to validate if a type is an instantiation of @ref gl::graph_traits "graph_traits" with a matrix implementation (either standard or flattened). /// @tparam TraitsType The type to evaluate against the concept. template concept c_adjacency_matrix_graph_traits = c_matrix_graph_traits or c_flat_matrix_graph_traits; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept to validate if a type is an instantiation of @ref gl::graph_traits "graph_traits" with a directed graph configuration. /// @tparam TraitsType The type to evaluate against the concept. template @@ -245,7 +245,7 @@ concept c_directed_graph_traits = c_instantiation_of and std::same_as; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept to validate if a type is an instantiation of @ref gl::graph_traits "graph_traits" with an undirected graph configuration. /// @tparam TraitsType The type to evaluate against the concept. template diff --git a/include/gl/impl/impl_tags.hpp b/include/gl/impl/impl_tags.hpp index 6def0a62..dcfb94fd 100644 --- a/include/gl/impl/impl_tags.hpp +++ b/include/gl/impl/impl_tags.hpp @@ -13,7 +13,7 @@ namespace gl::impl { -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @headerfile gl/impl/impl_tags.hpp /// @brief Tag struct for the standard adjacency list graph implementation. struct list_t { @@ -25,7 +25,7 @@ struct list_t { using type = adjacency_list; }; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @headerfile gl/impl/impl_tags.hpp /// @brief Tag struct for the flattened adjacency list graph implementation. /// ### See Also @@ -39,7 +39,7 @@ struct flat_list_t { using type = adjacency_list; }; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @headerfile gl/impl/impl_tags.hpp /// @brief Tag struct for the standard adjacency matrix graph implementation. struct matrix_t { @@ -51,7 +51,7 @@ struct matrix_t { using type = adjacency_matrix; }; -/// @ingroup GL GL-Core +/// @ingroup GL-Core /// @headerfile gl/impl/impl_tags.hpp /// @brief Tag struct for the flattened adjacency matrix graph implementation. /// ### See Also diff --git a/include/gl/io/graph_fio.hpp b/include/gl/io/graph_fio.hpp index b6e68e9a..49440c6b 100644 --- a/include/gl/io/graph_fio.hpp +++ b/include/gl/io/graph_fio.hpp @@ -15,14 +15,14 @@ namespace gl { namespace io { -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Tag type specifying that a file should be opened in strictly write (truncate) mode. /// /// When using this mode, the operation will intentionally throw an exception if the target file already exists /// to prevent accidental data overwrites. struct write {}; -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Tag type specifying that a file should be opened in append mode. /// /// When using this mode, the operation will append data to an existing file. It will throw an exception @@ -33,7 +33,7 @@ struct append {}; namespace traits { -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Concept checking if a provided type is a valid file I/O save mode. /// @see gl::io::write "write" /// @see gl::io::append "append" @@ -112,7 +112,7 @@ requires(std::same_as) } // namespace detail -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Serializes and saves a graph to a file. /// /// Saves the graph topology and optionally its properties using the Graph Specification Format (GSF). @@ -141,7 +141,7 @@ void save( file << graph; } -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Deserializes and loads a graph from a file. /// /// Instantiates a new graph populated with the topology and properties read from the target GSF file. diff --git a/include/gl/io/options.hpp b/include/gl/io/options.hpp index 59658b9d..c78d525a 100644 --- a/include/gl/io/options.hpp +++ b/include/gl/io/options.hpp @@ -25,7 +25,7 @@ inline constexpr iword_type layout_options_mask = } // namespace detail -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief @ref gl::io::options_manip "Stream manipulator" to enable concise graph formatting. /// /// Clears all layout-specific flags to default back to a compact representation. @@ -33,7 +33,7 @@ inline constexpr iword_type layout_options_mask = /// @hideinitializer inline constexpr options_manip concise{0ul, detail::layout_options_mask}; -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief @ref gl::io::options_manip "Stream manipulator" to enable verbose graph formatting. /// /// Modifies the stream state to output detailed structural information. @@ -43,7 +43,7 @@ inline constexpr options_manip verbose{ detail::build_mask(detail::option_bit::verbose), detail::layout_options_mask }; -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief @ref gl::io::options_manip "Stream manipulator" to enable the Graph Specification Format (GSF). /// /// Modifies the stream to output or expect data matching the precise internal parsing format used for serialization and deserialization. @@ -53,45 +53,45 @@ inline constexpr options_manip spec_fmt{ detail::build_mask(detail::option_bit::spec_fmt), detail::layout_options_mask }; -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief @ref gl::io::options_manip "Stream manipulator" to enable the processing of vertex properties. /// @hideinitializer inline constexpr options_manip with_vertex_properties = set_options(detail::option_bit::with_vertex_properties); -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief @ref gl::io::options_manip "Stream manipulator" to disable the processing of vertex properties. /// @hideinitializer inline constexpr options_manip without_vertex_properties = clear_options(detail::option_bit::with_vertex_properties); -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief @ref gl::io::options_manip "Stream manipulator" to enable the processing of edge properties. /// @hideinitializer inline constexpr options_manip with_edge_properties = set_options(detail::option_bit::with_connection_properties); -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief @ref gl::io::options_manip "Stream manipulator" to disable the processing of edge properties. /// @hideinitializer inline constexpr options_manip without_edge_properties = clear_options(detail::option_bit::with_connection_properties); -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief @ref gl::io::options_manip "Stream manipulator" to enable the processing of both vertex and edge properties simultaneously. /// @hideinitializer inline constexpr options_manip with_properties = set_options( detail::option_bit::with_vertex_properties, detail::option_bit::with_connection_properties ); -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief @ref gl::io::options_manip "Stream manipulator" to disable the processing of both vertex and edge properties simultaneously. /// @hideinitializer inline constexpr options_manip without_properties = clear_options( detail::option_bit::with_vertex_properties, detail::option_bit::with_connection_properties ); -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief @ref gl::io::options_manip "Stream manipulator" to reset all custom graph formatting flags back to their default states. /// @hideinitializer inline constexpr options_manip default_options{0ul, ~static_cast(0)}; diff --git a/include/gl/io/options_manip.hpp b/include/gl/io/options_manip.hpp index a9ec3e4d..4a1f37b3 100644 --- a/include/gl/io/options_manip.hpp +++ b/include/gl/io/options_manip.hpp @@ -15,23 +15,23 @@ namespace gl::io { -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Type used for standard I/O stream custom index allocation (`std::ios_base::xalloc`). using index_type = int; -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Type used for storing custom option flags within standard I/O streams. using iword_type = long; -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Type representing the zero-indexed position of a specific option bit. using bit_position_type = unsigned; -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Base bit representing the a single position in an `iword` flag map. inline constexpr iword_type iword_bit = 1ul; -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief A custom stream manipulator for modifying formatting options on standard I/O streams. /// /// Utilizing `std::ios_base::xalloc` and the `iword` map, this class safely injects custom formatting @@ -129,7 +129,7 @@ template } // namespace detail -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Creates a stream manipulator that enables the specified option bits. /// @tparam Args Variadic template arguments representing the bits to set. /// @param bits The specific options/bits to enable. @@ -139,7 +139,7 @@ template return options_manip{detail::build_mask(bits...), 0ul}; } -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Creates a stream manipulator that enables the specified option bits from a list. /// @tparam T The type of the bits. /// @param bits An initializer list containing the options/bits to enable. @@ -149,7 +149,7 @@ template return options_manip{detail::build_mask_from(bits), 0ul}; } -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Creates a stream manipulator that disables the specified option bits. /// @tparam Args Variadic template arguments representing the bits to clear. /// @param bits The specific options/bits to disable. @@ -159,7 +159,7 @@ template return options_manip{0ul, detail::build_mask(bits...)}; } -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Creates a stream manipulator that disables the specified option bits from a list. /// @tparam T The type of the bits. /// @param bits An initializer list containing the options/bits to disable. @@ -169,7 +169,7 @@ template return options_manip{0ul, detail::build_mask_from(bits)}; } -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Convenience wrapper to check if a specific option bit is set on the stream. /// @param stream The stream to check. /// @param bit_position The numeric position of the bit to verify. @@ -180,7 +180,7 @@ template return options_manip::is_option_set(stream, bit_position); } -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Convenience wrapper to check if a specific enum-based option is set on the stream. /// @param stream The stream to check. /// @param bit The scoped enum value representing the bit to verify. @@ -191,7 +191,7 @@ template return options_manip::is_option_set(stream, bit); } -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Convenience wrapper to check if a combined bitmask of options is set on the stream. /// @param stream The stream to check. /// @param bitmask The exact bitmask to verify. @@ -200,7 +200,7 @@ template return options_manip::are_options_set(stream, bitmask); } -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Convenience wrapper to check if multiple specific options are simultaneously set. /// @tparam Args Variadic template arguments representing the bits. /// @param stream The stream to check. @@ -211,7 +211,7 @@ template return options_manip::are_options_set(stream, detail::build_mask(bits...)); } -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Convenience wrapper to check if multiple specific options from a list are simultaneously set. /// @tparam T The type of the elements in the initializer list. /// @param stream The stream to check. diff --git a/include/gl/io/ranges.hpp b/include/gl/io/ranges.hpp index ad1e8834..864af64c 100644 --- a/include/gl/io/ranges.hpp +++ b/include/gl/io/ranges.hpp @@ -12,7 +12,7 @@ namespace gl::io { -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief A customizable stream proxy for formatting and printing C++ ranges. /// /// This struct acts as a wrapper around any `std::ranges::range`, allowing it to be @@ -84,7 +84,7 @@ template range_formatter(R&& r, std::string_view, std::string_view, std::string_view) -> range_formatter>; -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Factory function to format a range as a set. /// /// Wraps the range output in curly braces `{}` instead of standard brackets `[]`. @@ -112,7 +112,7 @@ auto set_formatter(R&& range, std::string_view sep = ", ") { return range_formatter{std::views::all(std::forward(range)), sep, "{", "}"}; } -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Factory function to format a range as a multiline set. /// /// Outputs each element on a new line, bounded by curly braces `{}`. @@ -147,7 +147,7 @@ auto multiline_set_formatter(R&& range) { }; } -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief A proxy object for concisely formatting large contiguous numeric ranges. /// /// Instead of iterating and printing every element of a massive sequence, this formatter @@ -195,7 +195,7 @@ struct implicit_range_formatter { } }; -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Factory function to create an implicit range formatter with a defined start and end. /// /// ### Example Usage @@ -226,7 +226,7 @@ template return implicit_range_formatter{first, last + static_cast(inclusive)}; } -/// @ingroup GL GL-IO +/// @ingroup GL-IO /// @brief Factory function to create an implicit range formatter starting from 0. /// /// ### Example Usage diff --git a/include/gl/topology/binary_tree.hpp b/include/gl/topology/binary_tree.hpp index 2285009d..c30b4d51 100644 --- a/include/gl/topology/binary_tree.hpp +++ b/include/gl/topology/binary_tree.hpp @@ -30,7 +30,7 @@ constexpr size_type min_non_trivial_bin_tree_depth = 2uz; } // namespace detail -/// @ingroup GL GL-Topology +/// @ingroup GL-Topology /// @brief Generates a regular (regular) binary tree of a specified depth. /// /// A regular binary tree is a tree where all internal vertices have exactly two children @@ -82,7 +82,7 @@ template return to(regular_binary_tree(depth)); } -/// @ingroup GL GL-Topology +/// @ingroup GL-Topology /// @brief Generates a regular binary tree with bidirectional edges. /// /// For directed graphs, this function ensures that for every parent-to-child edge, diff --git a/include/gl/topology/bipartite.hpp b/include/gl/topology/bipartite.hpp index e16730f3..2a94addf 100644 --- a/include/gl/topology/bipartite.hpp +++ b/include/gl/topology/bipartite.hpp @@ -14,7 +14,7 @@ namespace gl::topology { -/// @ingroup GL GL-Topology +/// @ingroup GL-Topology /// @brief Generates a complete bipartite graph (biclique). /// /// A complete bipartite graph is a graph whose vertices are partitioned into two disjoint diff --git a/include/gl/topology/clique.hpp b/include/gl/topology/clique.hpp index d769c810..3cd5cecf 100644 --- a/include/gl/topology/clique.hpp +++ b/include/gl/topology/clique.hpp @@ -13,7 +13,7 @@ namespace gl::topology { -/// @ingroup GL GL-Topology +/// @ingroup GL-Topology /// @brief Generates a complete graph (clique). /// /// A complete graph is a simple graph in which every pair of distinct vertices is connected by an edge. diff --git a/include/gl/topology/cycle.hpp b/include/gl/topology/cycle.hpp index f68e562f..01e4efb3 100644 --- a/include/gl/topology/cycle.hpp +++ b/include/gl/topology/cycle.hpp @@ -13,7 +13,7 @@ namespace gl::topology { -/// @ingroup GL GL-Topology +/// @ingroup GL-Topology /// @brief Generates a regular cycle graph (ring topology). /// /// A cycle graph consists of a single closed chain of vertices. Vertex \f$v_i\f$ is connected @@ -49,7 +49,7 @@ template return to(cycle(n_vertices)); } -/// @ingroup GL GL-Topology +/// @ingroup GL-Topology /// @brief Generates a cycle graph with bidirectional edges. /// /// For directed graphs, this function creates a reciprocal edge for every forward edge diff --git a/include/gl/topology/path.hpp b/include/gl/topology/path.hpp index 1ffcf9f7..fa658095 100644 --- a/include/gl/topology/path.hpp +++ b/include/gl/topology/path.hpp @@ -13,7 +13,7 @@ namespace gl::topology { -/// @ingroup GL GL-Topology +/// @ingroup GL-Topology /// @brief Generates a regular path graph (linear topology). /// /// A path graph consists of a simple linear sequence of vertices. Vertex \f$v_i\f$ is connected @@ -49,7 +49,7 @@ template return to(path(n_vertices)); } -/// @ingroup GL GL-Topology +/// @ingroup GL-Topology /// @brief Generates a path graph with bidirectional edges. /// /// For directed graphs, this function creates reciprocal edges along the linear sequence, diff --git a/include/gl/traits.hpp b/include/gl/traits.hpp index 571346e8..40d8a713 100644 --- a/include/gl/traits.hpp +++ b/include/gl/traits.hpp @@ -16,7 +16,7 @@ namespace gl::traits { -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Type trait to check if a type is an instantiation of a specific class template. /// @tparam T The type to check. /// @tparam Template The class template to match against. @@ -25,58 +25,58 @@ namespace gl::traits { template typename Template> struct is_instantiation_of : std::false_type {}; -/// @ingroup GL GL-Traits +/// @ingroup GL-Traits /// @brief Specialization of the @ref gl::traits::is_instantiation_of "is_instantiation_of" trait /// for when the type is an instantiation of the provided class template. template