128 lines
5.4 KiB
Groff
128 lines
5.4 KiB
Groff
|
|
.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\&.
|