From 1757786bbbc1aea564b5003e2a8d24fb0aa1d673 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Tue, 23 Dec 2025 01:20:11 -0500 Subject: [PATCH] xo-alloc2: ++ docs + scaffold xo-gc docs --- docs/ACollector-reference.rst | 41 ++++++++++++++++++++ docs/CMakeLists.txt | 17 +++++++++ docs/README | 70 +++++++++++++++++++++++++++++++++++ docs/implementation.rst | 42 +++++++++++++++++++++ docs/index.rst | 21 +++++++++++ 5 files changed, 191 insertions(+) create mode 100644 docs/ACollector-reference.rst create mode 100644 docs/CMakeLists.txt create mode 100644 docs/README create mode 100644 docs/implementation.rst create mode 100644 docs/index.rst diff --git a/docs/ACollector-reference.rst b/docs/ACollector-reference.rst new file mode 100644 index 0000000..bc858c1 --- /dev/null +++ b/docs/ACollector-reference.rst @@ -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 + +Class +----- + +.. doxygenclass:: xo::mm::ACollector + +Methods +------- + +.. doxygengroup:: mm-collector-methods diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt new file mode 100644 index 0000000..3405286 --- /dev/null +++ b/docs/CMakeLists.txt @@ -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 diff --git a/docs/README b/docs/README new file mode 100644 index 0000000..2fab639 --- /dev/null +++ b/docs/README @@ -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} diff --git a/docs/implementation.rst b/docs/implementation.rst new file mode 100644 index 0000000..e3434c0 --- /dev/null +++ b/docs/implementation.rst @@ -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 | + +--------------------------------------------------------------------+ diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000..c973002 --- /dev/null +++ b/docs/index.rst @@ -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