doxygen: Improve C++ ref manual

* Had to use absolute paths otherwise `ortools/<dir>` conflict with `build/ortools/<dir>`
* rework Doxygen main page following devsite C++ ref overview.
* improve doxygen c++ cache
  note: doxygen log specify the ideal cache size according to the previous run.
This commit is contained in:
Corentin Le Molgat
2025-07-04 16:38:43 +02:00
parent 3445c9233f
commit 052d57da07
5 changed files with 168 additions and 31 deletions

View File

@@ -472,7 +472,7 @@ TYPEDEF_HIDES_STRUCT = NO
# the optimal cache size from a speed point of view.
# Minimum value: 0, maximum value: 9, default value: 0.
LOOKUP_CACHE_SIZE = 0
LOOKUP_CACHE_SIZE = 3
# The NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use
# during processing. When set to 0 doxygen will based this on the number of

View File

@@ -0,0 +1,76 @@
/*! @dir @PROJECT_SOURCE_DIR@/ortools/base
This directory provides fundamental utilities for file I/O, logging, and basic data structures that support the other operations research tools.
*/
/*! @dir @PROJECT_SOURCE_DIR@/ortools/init
This directory provides the core library initialization function (InitGoogle) and its language-specific wrappers for
C#, Java, and Python.
*/
/*! @dir @PROJECT_SOURCE_DIR@/ortools/algorithms
Non-graph dedicated algorithms, like our Knapsack solver.
*/
/*! @dir @PROJECT_SOURCE_DIR@/ortools/graph
Graph and Network Flows.
*/
/*! @dir @PROJECT_SOURCE_DIR@/ortools/bop
Google's Boolean Optimization Programming solver (BOP) for binary programs, a specific form of integer programming (MIP).
*/
/*! @dir @PROJECT_SOURCE_DIR@/ortools/glop
Google's Linear Optimization Programming solver (GLOP) for continuous linear programs (LP).
*/
/*! @dir @PROJECT_SOURCE_DIR@/ortools/linear_solver
A unified wrapper (MPsolver) around different linear (LP) and integer (MIP) solvers (Glop, Bop, CP-SAT, SCIP, Gurobi, etc.). Use MathOpt instead for new applications.
*/
/*! @dir @PROJECT_SOURCE_DIR@/ortools/math_opt
Our next-generation unified wrapper for LP and MIP solvers.
@warning Wrappers for C# and Java are not available.
*/
/*! @dir @PROJECT_SOURCE_DIR@/ortools/sat
Our next-gen constraint programming (CP) solver, CP-SAT.
*/
/*! @dir @PROJECT_SOURCE_DIR@/ortools/pdlp
This directory contains PDLP, a library for solving linear programming (LP) and
quadratic programming (QP) problems using first-order methods.
*/
/*! @dir @PROJECT_SOURCE_DIR@/ortools/constraint_solver
Google's deprecated constraint programming (CP) solver.
*/
/*! @dir @PROJECT_SOURCE_DIR@/ortools/routing
Google's routing solver based on the constraint solver.
*/
/*! @dir @PROJECT_SOURCE_DIR@/ortools/packing
Google's packing solver.
*/
/*! @dir @PROJECT_SOURCE_DIR@/ortools/scheduling
Parsers for various standard scheduling problem formats, such as those from the PSP-LIB project scheduling library.
*/
/*! @dir @PROJECT_SOURCE_DIR@/ortols/set_cover
Our advanced set-covering solver with innovative greedy algorithms.
*/
/*! @dir @PROJECT_SOURCE_DIR@/ortools/lp_data
This directory contains a rich collection of C++ libraries for handling Linear
Programming (LP) data structures.
*/
/*! @dir @PROJECT_SOURCE_DIR@/ortools/util
Code shared between the different tools and libraries.
*/
/*! @dir @PROJECT_SOURCE_DIR@/ortools/flatzinc
This directory holds a parser and solver for the FlatZinc modeling language, enabling it to be solved using the CP-SAT solver.
*/

View File

@@ -1,29 +0,0 @@
/*! @file
* @author Laurent Perron <lperron@google.com>
* @author Corentin "Mizux" Le Molgat <corentinl@google.com>
*/
/*! @mainpage OR-Tools
This is the reference documentation for Google OR-Tools.
This repository contains several component:
@li @ref ortools/algorithms "Algorithms"
@li @ref ortools/graph "Graph"
@li @ref ortools/linear_solver "Linear Solver"
@li @ref ortools/math_opt "Math Opt"
@li @ref ortools/glop "GLOP"
@li @ref ortools/sat "SAT"
@li @ref ortools/pdlp "PDLP"
@li @ref ortools/constraint_solver "Constraint Solver"
@li @ref ortools/routing "Routing"
@li @ref ortools/packing "Packing"
@li @ref ortools/scheduling "Scheduling"
Misc:
@li @ref ortools/init "init"
@li @ref ortools/base "base"
@li @ref ortools/util "util"
*/

View File

@@ -0,0 +1,77 @@
/*! @file
* @author Laurent Perron <lperron@google.com>
* @author Corentin "Mizux" Le Molgat <corentinl@google.com>
*/
/*! @mainpage OR-Tools
This is the reference documentation for Google OR-Tools.
This repository contains several components:
<table>
<caption id="components">Components table</caption>
<tr><th>Directories<th>Description
<tr><td>@ref @PROJECT_SOURCE_DIR@/ortools/base "ortools/base"
<td>Fundamental utilities for the other or-tools components.
<tr><td>@ref @PROJECT_SOURCE_DIR@/ortools/init "ortools/init"
<td>Core library initialization functions.
<tr><td>@ref @PROJECT_SOURCE_DIR@/ortools/algorithms "ortools/algorithms"
<td>Knapsack solver and related algorithms.
<tr><td>@ref @PROJECT_SOURCE_DIR@/ortools/graph "ortools/graph"\n
@ref @PROJECT_BINARY_DIR@/ortools/graph "build/ortools/graph"
<td>Network flow library and related graph algorithms.
<tr><td>@ref @PROJECT_SOURCE_DIR@/ortools/bop "ortools/bop"\n
@ref @PROJECT_BINARY_DIR@/ortools/bop "build/ortools/bop"
<td>Google's Boolean Optimization Programming Solver.
<tr><td>@ref @PROJECT_SOURCE_DIR@/ortools/glop "ortools/glop"\n
@ref @PROJECT_BINARY_DIR@/ortools/glop "build/ortools/glop"
<td>Google's Linear Optimization Programming Solver.
<tr><td>@ref @PROJECT_SOURCE_DIR@/ortools/linear_solver "ortools/linear_solver"\n
@ref @PROJECT_BINARY_DIR@/ortools/linear_solver "build/ortools/linear_solver"
<td>Unified wrapper for linear (LP) and mixed integer (MIP) solvers.
<tr><td>@ref @PROJECT_SOURCE_DIR@/ortools/math_opt "ortools/math_opt"\n
@ref @PROJECT_BINARY_DIR@/ortools/math_opt "build/ortools/math_opt"
<td>Next-generation unified wrapper for LP and MIP solvers.
<tr><td>@ref @PROJECT_SOURCE_DIR@/ortools/sat "ortools/sat"\n
@ref @PROJECT_BINARY_DIR@/ortools/sat "build/ortools/sat"
<td>Our next-gen constraint programming (CP) solver, CP-SAT.
<tr><td>@ref @PROJECT_SOURCE_DIR@/ortools/pdlp "ortools/pdlp"\n
@ref @PROJECT_BINARY_DIR@/ortools/pdlp "build/ortools/pdlp"
<td>A large-scale linear and quadratic programming solver.
<tr><td>@ref @PROJECT_SOURCE_DIR@/ortools/constraint_solver "ortools/constraint_solver"\n
@ref @PROJECT_BINARY_DIR@/ortools/constraint_solver "build/ortools/constraint_solver"
<td>Google's legacy Constraint Programming (CP) Solver.
<tr><td>@ref @PROJECT_SOURCE_DIR@/ortools/routing "ortools/routing"\n
@ref @PROJECT_BINARY_DIR@/ortools/routing "build/ortools/routing"
<td>Google's Routing Solver.
<tr><td>@ref @PROJECT_SOURCE_DIR@/ortools/packing "ortools/packing"\n
@ref @PROJECT_BINARY_DIR@/ortools/packing "build/ortools/packing"
<td>Packing solver.
<tr><td>@ref @PROJECT_SOURCE_DIR@/ortools/scheduling "ortools/scheduling"\n
@ref @PROJECT_BINARY_DIR@/ortools/scheduling "build/ortools/scheduling"
<td>Scheduling solver.
<tr><td>@ref @PROJECT_SOURCE_DIR@/ortools/set_cover "ortools/set_cover"\n
@ref @PROJECT_BINARY_DIR@/ortools/set_cover "build/ortools/set_cover"
<td>Set Covering Solver
<tr><td>@ref @PROJECT_SOURCE_DIR@/ortools/util "ortools/util"\n
@ref @PROJECT_BINARY_DIR@/ortools/util "build/ortools/util"
<td>Code shared between the different tools and libraries.
</table>
*/