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)
107 lines
4.2 KiB
Groff
107 lines
4.2 KiB
Groff
.TH "serif::utils::dependencies::Context< ResourceTs >" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
|
|
.ad l
|
|
.nh
|
|
.SH NAME
|
|
serif::utils::dependencies::Context< ResourceTs >
|
|
.SH SYNOPSIS
|
|
.br
|
|
.PP
|
|
.PP
|
|
\fR#include <context\&.hpp>\fP
|
|
.SS "Public Types"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "using \fBResources\fP = \fBtypes::TypeList\fP<ResourceTs\&.\&.\&.>"
|
|
.br
|
|
.ti -1c
|
|
.RI "using \fBBindings\fP = \fBdependencies::Bindings\fP<\fBBinding\fP<typename ResourceTs::Key, typename ResourceTs::Target>\&.\&.\&.>"
|
|
.br
|
|
.ti -1c
|
|
.RI "using \fBResourceBindings\fP = \fBdependencies::Bindings\fP<\fBBinding\fP<typename ResourceTs::Key, ResourceTs>\&.\&.\&.>"
|
|
.br
|
|
.in -1c
|
|
.SS "Public Member Functions"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "\fBContext\fP (ResourceTs\&.\&.\&. resources)"
|
|
.br
|
|
.RI "Each resource explicitly chooses owned or borrowed storage\&. "
|
|
.ti -1c
|
|
.RI "template<typename KeyT>
|
|
.br
|
|
requires BindingsWithBinding<\fBBindings\fP, KeyT>const auto & \fBget\fP () const"
|
|
.br
|
|
.RI "Retrieve a resource by role even when several roles have the same target type\&. "
|
|
.ti -1c
|
|
.RI "template<typename KeyT>
|
|
.br
|
|
requires BindingsWithBinding<\fBBindings\fP, KeyT>const auto & \fBresource\fP () const"
|
|
.br
|
|
.RI "Access the value together with the policy used to track it\&. "
|
|
.ti -1c
|
|
.RI "template<IsDeclaration DeclarationT>
|
|
.br
|
|
requires SatisfiesDeclaration<\fBBindings\fP, DeclarationT>auto \fBselect\fP (DeclarationT) const &"
|
|
.br
|
|
.RI "Select declared roles without copying their objects or tracking policies\&. "
|
|
.ti -1c
|
|
.RI "template<IsDeclaration DeclarationT> auto \fBselect\fP (DeclarationT) const &&=delete"
|
|
.br
|
|
.RI "A view cannot safely borrow a temporary context\&. "
|
|
.in -1c
|
|
.SS "Private Attributes"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "std::tuple< ResourceTs\&.\&.\&. > \fBm_resources\fP"
|
|
.br
|
|
.in -1c
|
|
.SH "Member Typedef Documentation"
|
|
.PP
|
|
.SS "template<IsResource\&.\&.\&. ResourceTs> using \fBserif::utils::dependencies::Context\fP< ResourceTs >::Bindings = \fBdependencies::Bindings\fP<\fBBinding\fP<typename ResourceTs::Key, typename ResourceTs::Target>\&.\&.\&.>"
|
|
|
|
.SS "template<IsResource\&.\&.\&. ResourceTs> using \fBserif::utils::dependencies::Context\fP< ResourceTs >::ResourceBindings = \fBdependencies::Bindings\fP<\fBBinding\fP<typename ResourceTs::Key, ResourceTs>\&.\&.\&.>"
|
|
|
|
.SS "template<IsResource\&.\&.\&. ResourceTs> using \fBserif::utils::dependencies::Context\fP< ResourceTs >::Resources = \fBtypes::TypeList\fP<ResourceTs\&.\&.\&.>"
|
|
|
|
.SH "Constructor & Destructor Documentation"
|
|
.PP
|
|
.SS "template<IsResource\&.\&.\&. ResourceTs> \fBserif::utils::dependencies::Context\fP< ResourceTs >::Context (ResourceTs\&.\&.\&. resources)\fR [inline]\fP, \fR [explicit]\fP"
|
|
|
|
.PP
|
|
Each resource explicitly chooses owned or borrowed storage\&.
|
|
.SH "Member Function Documentation"
|
|
.PP
|
|
.SS "template<IsResource\&.\&.\&. ResourceTs> template<typename KeyT>
|
|
.br
|
|
requires BindingsWithBinding<\fBBindings\fP, KeyT>const auto & \fBserif::utils::dependencies::Context\fP< ResourceTs >::get () const\fR [inline]\fP, \fR [nodiscard]\fP"
|
|
|
|
.PP
|
|
Retrieve a resource by role even when several roles have the same target type\&.
|
|
.SS "template<IsResource\&.\&.\&. ResourceTs> template<typename KeyT>
|
|
.br
|
|
requires BindingsWithBinding<\fBBindings\fP, KeyT>const auto & \fBserif::utils::dependencies::Context\fP< ResourceTs >::resource () const\fR [inline]\fP, \fR [nodiscard]\fP"
|
|
|
|
.PP
|
|
Access the value together with the policy used to track it\&.
|
|
.SS "template<IsResource\&.\&.\&. ResourceTs> template<IsDeclaration DeclarationT>
|
|
.br
|
|
requires SatisfiesDeclaration<\fBBindings\fP, DeclarationT>auto \fBserif::utils::dependencies::Context\fP< ResourceTs >::select (DeclarationT ) const &\fR [inline]\fP, \fR [nodiscard]\fP"
|
|
|
|
.PP
|
|
Select declared roles without copying their objects or tracking policies\&.
|
|
.SS "template<IsResource\&.\&.\&. ResourceTs> template<IsDeclaration DeclarationT> auto \fBserif::utils::dependencies::Context\fP< ResourceTs >::select (DeclarationT ) const &&\fR [delete]\fP"
|
|
|
|
.PP
|
|
A view cannot safely borrow a temporary context\&.
|
|
.SH "Member Data Documentation"
|
|
.PP
|
|
.SS "template<IsResource\&.\&.\&. ResourceTs> std::tuple<ResourceTs\&.\&.\&.> \fBserif::utils::dependencies::Context\fP< ResourceTs >::m_resources\fR [private]\fP"
|
|
|
|
|
|
.SH "Author"
|
|
.PP
|
|
Generated automatically by Doxygen for SERiF from the source code\&.
|