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)
132 lines
5.4 KiB
Groff
132 lines
5.4 KiB
Groff
.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 <computation_store\&.hpp>\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<typename ValueT>
|
|
.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<typename KeyT, typename ComputationT> using \fBserif::utils::dependencies::OwnedComputation\fP< KeyT, ComputationT >::Key = KeyT"
|
|
|
|
.SS "template<typename KeyT, typename ComputationT> using \fBserif::utils::dependencies::OwnedComputation\fP< KeyT, ComputationT >::Target = ComputationT"
|
|
|
|
.SH "Constructor & Destructor Documentation"
|
|
.PP
|
|
.SS "template<typename KeyT, typename ComputationT> template<typename ValueT>
|
|
.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<typename KeyT, typename ComputationT> \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<typename KeyT, typename ComputationT> \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<typename KeyT, typename ComputationT> \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<typename KeyT, typename ComputationT> \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<typename KeyT, typename ComputationT> \fBTarget\fP & \fBserif::utils::dependencies::OwnedComputation\fP< KeyT, ComputationT >::get () &&\fR [delete]\fP"
|
|
|
|
.PP
|
|
References cannot safely borrow computations from temporary owners\&.
|
|
.SS "template<typename KeyT, typename ComputationT> 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<typename KeyT, typename ComputationT> const \fBTarget\fP & \fBserif::utils::dependencies::OwnedComputation\fP< KeyT, ComputationT >::get () const &&\fR [delete]\fP"
|
|
|
|
.SS "template<typename KeyT, typename ComputationT> \fBOwnedComputation\fP & \fBserif::utils::dependencies::OwnedComputation\fP< KeyT, ComputationT >::operator= (const \fBOwnedComputation\fP< KeyT, ComputationT > & )\fR [delete]\fP"
|
|
|
|
.SS "template<typename KeyT, typename ComputationT> \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<typename KeyT, typename ComputationT> 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\&.
|