|
YOrch 1.0.0
|
Flat direct-child adjacency storage for a tree-shaped plan. More...
#include <layout.hpp>

Public Attributes | |
| std::array< std::size_t, N > | counts {} |
| std::array< std::size_t, N > | offsets {} |
| std::array< std::size_t,(N > 0 ? N - 1 :0)> | indices {} |
Flat direct-child adjacency storage for a tree-shaped plan.
For each node, this layout records:
counts[node]: how many direct children the node hasoffsets[node]: where that node's child range begins in indicesindices: all child node indices concatenated into one flat bufferThis keeps child traversal compact and allocation-free while matching the current invariant that the compiled structure is a single-parent tree.
| N | Number of nodes in the compiled plan. |
Definition at line 79 of file layout.hpp.
| std::array<std::size_t, N> yorch::detail::child_layout< N >::counts {} |
Definition at line 80 of file layout.hpp.
| std::array<std::size_t, (N > 0 ? N - 1 : 0)> yorch::detail::child_layout< N >::indices {} |
Definition at line 82 of file layout.hpp.
| std::array<std::size_t, N> yorch::detail::child_layout< N >::offsets {} |
Definition at line 81 of file layout.hpp.