Note for now much of the docs is LLM written. This was done to save time and focus on code development. The docs have been LOOSLEY reviewed. However, the code itself has been either fully written by hand or fully reviewed. Therefore, the docs should at the moment be seen as a loose resource rather than authoratiative (and this is on top of the general ability for docs to drift)
111 lines
4.4 KiB
Groff
111 lines
4.4 KiB
Groff
.TH "serif::utils::dependencies::ComputationGraph< Computations >" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
|
|
.ad l
|
|
.nh
|
|
.SH NAME
|
|
serif::utils::dependencies::ComputationGraph< Computations >
|
|
.SH SYNOPSIS
|
|
.br
|
|
.PP
|
|
.PP
|
|
\fR#include <computation_graph\&.hpp>\fP
|
|
.SS "Public Types"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "using \fBResults\fP = \fBKeyList\fP<typename Computations::Key\&.\&.\&.>"
|
|
.br
|
|
.ti -1c
|
|
.RI "using \fBInputs\fP = \fBCombinedKeyList\fP<typename Computations::Inputs\&.\&.\&.>"
|
|
.br
|
|
.ti -1c
|
|
.RI "using \fBDependencies\fP = \fBdetail::Graph\fP<Computations\&.\&.\&.>"
|
|
.br
|
|
.RI "Compile-time topology; indices follow declaration order, not execution order\&. "
|
|
.ti -1c
|
|
.RI "template<std::size_t Index> using \fBComputationAt\fP = std::tuple_element_t<Index, std::tuple<Computations\&.\&.\&.>>"
|
|
.br
|
|
.RI "Select a node by its declaration index; \fBDependencies::order\fP gives execution order\&. "
|
|
.in -1c
|
|
.SS "Public Member Functions"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "\fBComputationGraph\fP (Computations\&.\&.\&. computations)"
|
|
.br
|
|
.RI "Accept computations in any order; the graph determines their evaluation order\&. "
|
|
.ti -1c
|
|
.RI "template<std::size_t Index>
|
|
.br
|
|
requires (Index < \fBsize\fP)const auto & \fBcomputation\fP () const"
|
|
.br
|
|
.RI "Read a callable without permitting its stored configuration to change between preparations\&. "
|
|
.in -1c
|
|
.SS "Static Public Member Functions"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "template<typename KeyT>
|
|
.br
|
|
requires \fBdetail::contains_key_v\fP<KeyT, \fBResults\fP>static consteval std::size_t \fBindex\fP ()"
|
|
.br
|
|
.RI "Convert a known result key to its stable declaration index\&. "
|
|
.in -1c
|
|
.SS "Static Public Attributes"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "static constexpr std::size_t \fBsize\fP = sizeof\&.\&.\&.(Computations)"
|
|
.br
|
|
.in -1c
|
|
.SS "Private Attributes"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "std::tuple< Computations\&.\&.\&. > \fBm_computations\fP"
|
|
.br
|
|
.in -1c
|
|
.SH "Member Typedef Documentation"
|
|
.PP
|
|
.SS "template<IsComputation\&.\&.\&. Computations> template<std::size_t Index> using \fBserif::utils::dependencies::ComputationGraph\fP< Computations >::ComputationAt = std::tuple_element_t<Index, std::tuple<Computations\&.\&.\&.>>"
|
|
|
|
.PP
|
|
Select a node by its declaration index; \fBDependencies::order\fP gives execution order\&.
|
|
.SS "template<IsComputation\&.\&.\&. Computations> using \fBserif::utils::dependencies::ComputationGraph\fP< Computations >::Dependencies = \fBdetail::Graph\fP<Computations\&.\&.\&.>"
|
|
|
|
.PP
|
|
Compile-time topology; indices follow declaration order, not execution order\&.
|
|
.SS "template<IsComputation\&.\&.\&. Computations> using \fBserif::utils::dependencies::ComputationGraph\fP< Computations >::Inputs = \fBCombinedKeyList\fP<typename Computations::Inputs\&.\&.\&.>"
|
|
|
|
.SS "template<IsComputation\&.\&.\&. Computations> using \fBserif::utils::dependencies::ComputationGraph\fP< Computations >::Results = \fBKeyList\fP<typename Computations::Key\&.\&.\&.>"
|
|
|
|
.SH "Constructor & Destructor Documentation"
|
|
.PP
|
|
.SS "template<IsComputation\&.\&.\&. Computations> \fBserif::utils::dependencies::ComputationGraph\fP< Computations >::ComputationGraph (Computations\&.\&.\&. computations)\fR [inline]\fP, \fR [explicit]\fP"
|
|
|
|
.PP
|
|
Accept computations in any order; the graph determines their evaluation order\&.
|
|
.SH "Member Function Documentation"
|
|
.PP
|
|
.SS "template<IsComputation\&.\&.\&. Computations> template<std::size_t Index>
|
|
.br
|
|
requires (Index < \fBsize\fP)const auto & \fBserif::utils::dependencies::ComputationGraph\fP< Computations >::computation () const\fR [inline]\fP, \fR [nodiscard]\fP"
|
|
|
|
.PP
|
|
Read a callable without permitting its stored configuration to change between preparations\&.
|
|
.SS "template<IsComputation\&.\&.\&. Computations> template<typename KeyT>
|
|
.br
|
|
requires \fBdetail::contains_key_v\fP<KeyT, \fBResults\fP>static consteval std::size_t \fBserif::utils::dependencies::ComputationGraph\fP< Computations >::index ()\fR [inline]\fP, \fR [static]\fP, \fR [nodiscard]\fP, \fR [consteval]\fP"
|
|
|
|
.PP
|
|
Convert a known result key to its stable declaration index\&.
|
|
.SH "Member Data Documentation"
|
|
.PP
|
|
.SS "template<IsComputation\&.\&.\&. Computations> std::tuple<Computations\&.\&.\&.> \fBserif::utils::dependencies::ComputationGraph\fP< Computations >::m_computations\fR [private]\fP"
|
|
|
|
.SS "template<IsComputation\&.\&.\&. Computations> std::size_t \fBserif::utils::dependencies::ComputationGraph\fP< Computations >::size = sizeof\&.\&.\&.(Computations)\fR [static]\fP, \fR [constexpr]\fP"
|
|
|
|
|
|
.SH "Author"
|
|
.PP
|
|
Generated automatically by Doxygen for SERiF from the source code\&.
|