xo-facet: runtime facet lookup [PROTO]

This commit is contained in:
Roland Conybeare 2026-01-09 10:07:20 -05:00
commit fe4fc4a28d
5 changed files with 86 additions and 3 deletions

View file

@ -10,6 +10,8 @@ Library dependency tower for *xo-facet*:
+-----------------+
| xo_facet |
+-----------------+
| xo_arena |
+-----------------+
| xo_cmake |
+-----------------+
@ -18,6 +20,8 @@ Abstraction tower for *xo-facet* components.
.. ditaa::
:--scale: 0.85
+--------------------------------+
| FacetRegistry |
+--------------------------------+
| obj(A,D) |
+--------------------------------+
@ -37,9 +41,12 @@ Abstraction tower for *xo-facet* components.
* - Component
- Use
- Description
* - ``FacetRegistry``
- ``FacetRegistry::convert_to<ATo>(obj<AFrom>)``
- polymorphic conversion between facets
* - ``obj<A,D>``
- ``x.foo()``
- convenience wrapper with interface A, with state D*
- convenience wrapper for interface A, with state D*
* - ``RRouter<A,D>``
- ``x.foo()``
- auto injects data pointer

View file

@ -45,6 +45,7 @@ This gives us several benefits:
simpler that the pathway for a data pointer. This increases scope for
devirtualization.
.. toctree::
:maxdepth: 2
:caption: xo-facet contents