|
SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
|
Immutable topology of computed nodes; context sources are resolved separately. More...
#include <graph.hpp>
Public Types | |
| using | Mask = std::array<bool, size> |
| using | Matrix = std::array<Mask, size> |
| using | Order = std::array<std::size_t, size> |
Static Public Member Functions | |
| template<typename ComputationT> | |
| static consteval Mask | prerequisites () |
| Record only computed prerequisites; other input keys are supplied by a context. | |
| static consteval Order | make_order () |
| Order prerequisites before their users, preferring the earliest ready declaration at each step. | |
| static consteval bool | acyclic () |
| A missing position identifies a cycle, including a computation requiring itself. | |
| template<typename... Keys> | |
| static consteval Mask | required (KeyList< Keys... >) |
| Expand requested results to include all computed prerequisites in one reverse traversal. | |
Static Public Attributes | |
| static constexpr std::size_t | size = sizeof...(Computations) |
| static constexpr Matrix | edges {prerequisites<Computations>()...} |
| edges[consumer][producer] is true when the consumer reads the producer's result. | |
| static constexpr Order | order = make_order() |
| Each execution position maps to a declaration index; size marks an unresolved cycle. | |
Immutable topology of computed nodes; context sources are resolved separately.
| using serif::utils::dependencies::detail::Graph< Computations >::Mask = std::array<bool, size> |
| using serif::utils::dependencies::detail::Graph< Computations >::Matrix = std::array<Mask, size> |
| using serif::utils::dependencies::detail::Graph< Computations >::Order = std::array<std::size_t, size> |
|
inlinestaticnodiscardconsteval |
A missing position identifies a cycle, including a computation requiring itself.
|
inlinestaticnodiscardconsteval |
Order prerequisites before their users, preferring the earliest ready declaration at each step.
|
inlinestaticnodiscardconsteval |
Record only computed prerequisites; other input keys are supplied by a context.
|
inlinestaticnodiscardconsteval |
Expand requested results to include all computed prerequisites in one reverse traversal.
|
staticconstexpr |
edges[consumer][producer] is true when the consumer reads the producer's result.
|
staticconstexpr |
Each execution position maps to a declaration index; size marks an unresolved cycle.
|
staticconstexpr |