.TH "serif::utils::dependencies::OwnedComputation< KeyT, ComputationT >" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*- .ad l .nh .SH NAME serif::utils::dependencies::OwnedComputation< KeyT, ComputationT > .SH SYNOPSIS .br .PP .PP \fR#include \fP .SS "Public Types" .in +1c .ti -1c .RI "using \fBKey\fP = KeyT" .br .ti -1c .RI "using \fBTarget\fP = ComputationT" .br .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "template .br requires std::constructible_from<\fBTarget\fP, ValueT>\fBOwnedComputation\fP (ValueT &&value)" .br .RI "Give a cache or computation owner a stable address, independent of its store's location\&. " .ti -1c .RI "\fBOwnedComputation\fP (const \fBOwnedComputation\fP &)=delete" .br .RI "A computation has one owner; use references to share access to it\&. " .ti -1c .RI "\fBOwnedComputation\fP & \fBoperator=\fP (const \fBOwnedComputation\fP &)=delete" .br .ti -1c .RI "\fBOwnedComputation\fP (\fBOwnedComputation\fP &&) noexcept=default" .br .RI "Transfer ownership without moving the computation itself\&. " .ti -1c .RI "\fBOwnedComputation\fP & \fBoperator=\fP (\fBOwnedComputation\fP &&)=delete" .br .RI "Replacing an entry could invalidate references held by prepared operators\&. " .ti -1c .RI "\fBTarget\fP & \fBget\fP () &" .br .RI "Access the persistent computation, for example to prepare its next state\&. " .ti -1c .RI "const \fBTarget\fP & \fBget\fP () const &" .br .RI "Read a computation through its owner without allowing it to change\&. " .ti -1c .RI "\fBTarget\fP & \fBget\fP () &&=delete" .br .RI "References cannot safely borrow computations from temporary owners\&. " .ti -1c .RI "const \fBTarget\fP & \fBget\fP () const &&=delete" .br .in -1c .SS "Private Member Functions" .in +1c .ti -1c .RI "\fBTarget\fP & \fBchecked_value\fP () const" .br .RI "A moved-from entry no longer owns an object that a consumer can borrow\&. " .in -1c .SS "Private Attributes" .in +1c .ti -1c .RI "std::unique_ptr< \fBTarget\fP > \fBm_value\fP" .br .in -1c .SH "Member Typedef Documentation" .PP .SS "template using \fBserif::utils::dependencies::OwnedComputation\fP< KeyT, ComputationT >::Key = KeyT" .SS "template using \fBserif::utils::dependencies::OwnedComputation\fP< KeyT, ComputationT >::Target = ComputationT" .SH "Constructor & Destructor Documentation" .PP .SS "template template .br requires std::constructible_from<\fBTarget\fP, ValueT>\fBserif::utils::dependencies::OwnedComputation\fP< KeyT, ComputationT >::OwnedComputation (ValueT && value)\fR [inline]\fP, \fR [explicit]\fP" .PP Give a cache or computation owner a stable address, independent of its store's location\&. .SS "template \fBserif::utils::dependencies::OwnedComputation\fP< KeyT, ComputationT >::OwnedComputation (const \fBOwnedComputation\fP< KeyT, ComputationT > & )\fR [delete]\fP" .PP A computation has one owner; use references to share access to it\&. .SS "template \fBserif::utils::dependencies::OwnedComputation\fP< KeyT, ComputationT >::OwnedComputation (\fBOwnedComputation\fP< KeyT, ComputationT > && )\fR [default]\fP, \fR [noexcept]\fP" .PP Transfer ownership without moving the computation itself\&. .SH "Member Function Documentation" .PP .SS "template \fBTarget\fP & \fBserif::utils::dependencies::OwnedComputation\fP< KeyT, ComputationT >::checked_value () const\fR [inline]\fP, \fR [nodiscard]\fP, \fR [private]\fP" .PP A moved-from entry no longer owns an object that a consumer can borrow\&. .SS "template \fBTarget\fP & \fBserif::utils::dependencies::OwnedComputation\fP< KeyT, ComputationT >::get () &\fR [inline]\fP, \fR [nodiscard]\fP" .PP Access the persistent computation, for example to prepare its next state\&. .SS "template \fBTarget\fP & \fBserif::utils::dependencies::OwnedComputation\fP< KeyT, ComputationT >::get () &&\fR [delete]\fP" .PP References cannot safely borrow computations from temporary owners\&. .SS "template const \fBTarget\fP & \fBserif::utils::dependencies::OwnedComputation\fP< KeyT, ComputationT >::get () const &\fR [inline]\fP, \fR [nodiscard]\fP" .PP Read a computation through its owner without allowing it to change\&. .SS "template const \fBTarget\fP & \fBserif::utils::dependencies::OwnedComputation\fP< KeyT, ComputationT >::get () const &&\fR [delete]\fP" .SS "template \fBOwnedComputation\fP & \fBserif::utils::dependencies::OwnedComputation\fP< KeyT, ComputationT >::operator= (const \fBOwnedComputation\fP< KeyT, ComputationT > & )\fR [delete]\fP" .SS "template \fBOwnedComputation\fP & \fBserif::utils::dependencies::OwnedComputation\fP< KeyT, ComputationT >::operator= (\fBOwnedComputation\fP< KeyT, ComputationT > && )\fR [delete]\fP" .PP Replacing an entry could invalidate references held by prepared operators\&. .SH "Member Data Documentation" .PP .SS "template std::unique_ptr<\fBTarget\fP> \fBserif::utils::dependencies::OwnedComputation\fP< KeyT, ComputationT >::m_value\fR [private]\fP" .SH "Author" .PP Generated automatically by Doxygen for SERiF from the source code\&.