Own independent computation caches under compile-time role keys; this store does not connect their graphs.
More...
|
| | ComputationStore (EntryTs... entries) |
| | Consumers may borrow entries while this store or a moved-to successor remains alive.
|
| |
| | ComputationStore (const ComputationStore &)=delete |
| | Duplicating ownership would give consumers ambiguous cache identities.
|
| |
| ComputationStore & | operator= (const ComputationStore &)=delete |
| |
| | ComputationStore (ComputationStore &&) noexcept=default |
| | Moving a store preserves the addresses of all its computations.
|
| |
| ComputationStore & | operator= (ComputationStore &&)=delete |
| | Do not replace computations that existing consumers may still reference.
|
| |
template<typename KeyT>
requires BindingsWithBinding<Bindings, KeyT> |
| auto & | get () & |
| | Retrieve a computation by its model role, independently of its implementation type.
|
| |
template<typename KeyT>
requires BindingsWithBinding<Bindings, KeyT> |
| const auto & | get () const & |
| | Const owners expose read-only access to each computation.
|
| |
| template<typename KeyT> |
| auto | get () &&=delete |
| | Borrowed computations must not outlive a temporary store.
|
| |
| template<typename KeyT> |
| auto | get () const &&=delete |
| |
template<IsOwnedComputation... EntryTs>
requires
misc::traits::all_unique_types_v<typename EntryTs::Key...>
class serif::utils::dependencies::ComputationStore< EntryTs >
Own independent computation caches under compile-time role keys; this store does not connect their graphs.