Files
MeanField_SERiF/docs/man/man3/serif_utils_dependencies_ComputationStore.3

128 lines
5.4 KiB
Groff
Raw Normal View History

.TH "serif::utils::dependencies::ComputationStore< EntryTs >" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
.ad l
.nh
.SH NAME
serif::utils::dependencies::ComputationStore< EntryTs > \- Own independent computation caches under compile-time role keys; this store does not connect their graphs\&.
.SH SYNOPSIS
.br
.PP
.PP
\fR#include <computation_store\&.hpp>\fP
.SS "Public Types"
.in +1c
.ti -1c
.RI "using \fBBindings\fP = \fBdependencies::Bindings\fP<\fBBinding\fP<typename EntryTs::Key, typename EntryTs::Target>\&.\&.\&.>"
.br
.in -1c
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "\fBComputationStore\fP (EntryTs\&.\&.\&. entries)"
.br
.RI "Consumers may borrow entries while this store or a moved-to successor remains alive\&. "
.ti -1c
.RI "\fBComputationStore\fP (const \fBComputationStore\fP &)=delete"
.br
.RI "Duplicating ownership would give consumers ambiguous cache identities\&. "
.ti -1c
.RI "\fBComputationStore\fP & \fBoperator=\fP (const \fBComputationStore\fP &)=delete"
.br
.ti -1c
.RI "\fBComputationStore\fP (\fBComputationStore\fP &&) noexcept=default"
.br
.RI "Moving a store preserves the addresses of all its computations\&. "
.ti -1c
.RI "\fBComputationStore\fP & \fBoperator=\fP (\fBComputationStore\fP &&)=delete"
.br
.RI "Do not replace computations that existing consumers may still reference\&. "
.ti -1c
.RI "template<typename KeyT>
.br
requires BindingsWithBinding<\fBBindings\fP, KeyT>auto & \fBget\fP () &"
.br
.RI "Retrieve a computation by its model role, independently of its implementation type\&. "
.ti -1c
.RI "template<typename KeyT>
.br
requires BindingsWithBinding<\fBBindings\fP, KeyT>const auto & \fBget\fP () const &"
.br
.RI "Const owners expose read-only access to each computation\&. "
.ti -1c
.RI "template<typename KeyT> auto \fBget\fP () &&=delete"
.br
.RI "Borrowed computations must not outlive a temporary store\&. "
.ti -1c
.RI "template<typename KeyT> auto \fBget\fP () const &&=delete"
.br
.in -1c
.SS "Private Attributes"
.in +1c
.ti -1c
.RI "std::tuple< EntryTs\&.\&.\&. > \fBm_entries\fP"
.br
.in -1c
.SH "Detailed Description"
.PP
.SS "template<IsOwnedComputation\&.\&.\&. EntryTs>
.br
requires \fBmisc::traits::all_unique_types_v\fP<typename EntryTs::Key\&.\&.\&.>
.br
class serif::utils::dependencies::ComputationStore< EntryTs >"Own independent computation caches under compile-time role keys; this store does not connect their graphs\&.
.SH "Member Typedef Documentation"
.PP
.SS "template<IsOwnedComputation\&.\&.\&. EntryTs> using \fBserif::utils::dependencies::ComputationStore\fP< EntryTs >::Bindings = \fBdependencies::Bindings\fP<\fBBinding\fP<typename EntryTs::Key, typename EntryTs::Target>\&.\&.\&.>"
.SH "Constructor & Destructor Documentation"
.PP
.SS "template<IsOwnedComputation\&.\&.\&. EntryTs> \fBserif::utils::dependencies::ComputationStore\fP< EntryTs >::ComputationStore (EntryTs\&.\&.\&. entries)\fR [inline]\fP, \fR [explicit]\fP"
.PP
Consumers may borrow entries while this store or a moved-to successor remains alive\&.
.SS "template<IsOwnedComputation\&.\&.\&. EntryTs> \fBserif::utils::dependencies::ComputationStore\fP< EntryTs >::ComputationStore (const \fBComputationStore\fP< EntryTs > & )\fR [delete]\fP"
.PP
Duplicating ownership would give consumers ambiguous cache identities\&.
.SS "template<IsOwnedComputation\&.\&.\&. EntryTs> \fBserif::utils::dependencies::ComputationStore\fP< EntryTs >::ComputationStore (\fBComputationStore\fP< EntryTs > && )\fR [default]\fP, \fR [noexcept]\fP"
.PP
Moving a store preserves the addresses of all its computations\&.
.SH "Member Function Documentation"
.PP
.SS "template<IsOwnedComputation\&.\&.\&. EntryTs> template<typename KeyT>
.br
requires BindingsWithBinding<\fBBindings\fP, KeyT>auto & \fBserif::utils::dependencies::ComputationStore\fP< EntryTs >::get () &\fR [inline]\fP, \fR [nodiscard]\fP"
.PP
Retrieve a computation by its model role, independently of its implementation type\&.
.SS "template<IsOwnedComputation\&.\&.\&. EntryTs> template<typename KeyT> auto \fBserif::utils::dependencies::ComputationStore\fP< EntryTs >::get () &&\fR [delete]\fP"
.PP
Borrowed computations must not outlive a temporary store\&.
.SS "template<IsOwnedComputation\&.\&.\&. EntryTs> template<typename KeyT>
.br
requires BindingsWithBinding<\fBBindings\fP, KeyT>const auto & \fBserif::utils::dependencies::ComputationStore\fP< EntryTs >::get () const &\fR [inline]\fP, \fR [nodiscard]\fP"
.PP
Const owners expose read-only access to each computation\&.
.SS "template<IsOwnedComputation\&.\&.\&. EntryTs> template<typename KeyT> auto \fBserif::utils::dependencies::ComputationStore\fP< EntryTs >::get () const &&\fR [delete]\fP"
.SS "template<IsOwnedComputation\&.\&.\&. EntryTs> \fBComputationStore\fP & \fBserif::utils::dependencies::ComputationStore\fP< EntryTs >::operator= (\fBComputationStore\fP< EntryTs > && )\fR [delete]\fP"
.PP
Do not replace computations that existing consumers may still reference\&.
.SS "template<IsOwnedComputation\&.\&.\&. EntryTs> \fBComputationStore\fP & \fBserif::utils::dependencies::ComputationStore\fP< EntryTs >::operator= (const \fBComputationStore\fP< EntryTs > & )\fR [delete]\fP"
.SH "Member Data Documentation"
.PP
.SS "template<IsOwnedComputation\&.\&.\&. EntryTs> std::tuple<EntryTs\&.\&.\&.> \fBserif::utils::dependencies::ComputationStore\fP< EntryTs >::m_entries\fR [private]\fP"
.SH "Author"
.PP
Generated automatically by Doxygen for SERiF from the source code\&.