xo-alloc2: ++ docs + scaffold xo-gc docs

This commit is contained in:
Roland Conybeare 2025-12-23 01:20:11 -05:00
commit 1757786bbb
5 changed files with 191 additions and 0 deletions

View file

@ -0,0 +1,41 @@
.. _ACollector-reference:
ACollector Reference
====================
Abstract interface facet for generational garbage collector.
Context
-------
.. ditaa::
:--scale: 0.99
+--------------------------------------------------+-----------------+
| IAllocIterator_DX1CollectorIterator | |
| IAllocator_DX1Collector | RGCObject |
| ICollector_DX1Collector | IGCObject_Xfer |
| ICollector_Xfer | IGCObject_Any |
| ICollector_Any | |
+--------------------------------------------------+-----------------+
+----------------------+--------------+------------+-----------------+
| DX1CollectorIterator | DX1Collector | ACollector | AGCObject |
| | | | |
+----------------------+--------------+------------+-----------------+
+--------------------------------------------------------------------+
| CollectorConfig generation object_age role |
+--------------------------------------------------------------------+
.. code-block:: cpp
#include <xo/gc/ACollector.hpp>
Class
-----
.. doxygenclass:: xo::mm::ACollector
Methods
-------
.. doxygengroup:: mm-collector-methods

17
docs/CMakeLists.txt Normal file
View file

@ -0,0 +1,17 @@
# xo-gc/docs/CMakeLists.txt
xo_doxygen_collect_deps()
xo_docdir_doxygen_config()
xo_docdir_sphinx_config(
index.rst
# glossary.rst
# implementation.rst
# ArenaConfig-reference.rst
# DArena-reference.rst
#install.rst
#introduction.rst
#implementation.rst
)
# see xo-reader/doc or xo-unit/doc for working examples
# example.rst install.rst implementation.rst

70
docs/README Normal file
View file

@ -0,0 +1,70 @@
build
+-----------------------------------------------+
| cmake |
| CMakeLists.txt |
| $PREFIX/share/cmake/xo_macros/xo_cxx.cmake |
+-----------------------------------------------+
|
| +----------------------+
+------------------------------------------------->| .build/docs/Doxyfile |
| +----------------------+
| |
| /------------/
| |
| v
| +---------------------------------------+ +-----------------+
+---->| doxygen |--->| .build/docs/dox |
| | $PREFIX/share/xo-macros/Doxyfile.in | | +- html/ |
| +---------------------------------------+ | +- xml/ |
| +-----------------+
| |
| /------------/
| |
| v
| +---------------------------------------+ +--------------------+
\---->| sphinx |--->| .build/docs/sphinx |
| +- conf.py | | +- html/ |
| +- _static/ | +--------------------+
| +- *.rst |
+---------------------------------------+
files
README this file
CMakeLists.txt build entry point
conf.py sphinx config
_static static files for sphinx
map
index.rst
+- install.rst
+- examples.rst
+- unit-quantities.rst
+- classes.rst
+- glossary.rst
...
examples
.. doxygenclass:: ${c++ class name}
:project:
:path:
:members:
:protected-members:
:private-members:
:undoc-members:
:member-groups:
:members-only:
:outline:
:no-link:
:allow-dot-graphs:
.. doxygendefine:: ${c preprocessor define}
.. doxygenconcept:: ${c++ concept definition}
.. doxygenenum:: ${c++ enum definition}
.. doxygenfunction:: ${c++ function name}

42
docs/implementation.rst Normal file
View file

@ -0,0 +1,42 @@
.. _implementation:
.. toctree::
:maxdepth: 2
Components
==========
Library dependency tower for *xo-gc*
.. ditaa::
+----------------+
| xo_gc |
+----------------+
| xo_alloc2 |
+----------------+
| xo_facet |
+----------------+
| xo_cmake |
+----------------+
Abstraction tower for *xo-gc* components:
.. ditaa::
:--scale: 0.85
+--------------------------------------------------+-----------------+
| IAllocIterator_DX1CollectorIterator | |
| IAllocator_DX1Collector | RGCObject |
| ICollector_DX1Collector | IGCObject_Xfer |
| ICollector_Xfer | IGCObject_Any |
| ICollector_Any | |
+--------------------------------------------------+-----------------+
+----------------------+--------------+------------+-----------------+
| DX1CollectorIterator | DX1Collector | ACollector | AGCObject |
| | | | |
+----------------------+--------------+------------+-----------------+
+--------------------------------------------------------------------+
| CollectorConfig generation object_age role |
+--------------------------------------------------------------------+

21
docs/index.rst Normal file
View file

@ -0,0 +1,21 @@
# xo-gc documentation mster file
xo-gc documetation
==================
xo-gc provides a garbage collcetor
with plugin architecture for collectable types.
Features:
* generational
* compacting and copying
* gc progress observable via callbacks
.. toctree::
:maxdepth: 2
:caption: xo-gc contents
ACollector-reference.rst
genindex
search