SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::utils::dependencies::PreparationReport< ResultsT, SourcesT > Struct Template Reference

#include <preparation.hpp>

Collaboration diagram for serif::utils::dependencies::PreparationReport< ResultsT, SourcesT >:
[legend]

Public Member Functions

template<typename KeyT>
requires detail::contains_key_v<KeyT, ResultsT>
PreparationStatus status () const
 Inspect a computation by its result key rather than an implementation index.
 
template<typename KeyT>
requires detail::contains_key_v<KeyT, SourcesT>
bool source_changed () const
 An unused source is reported unchanged because it was not inspected by this request.
 
std::size_t computed_count () const
 Count only computations evaluated during this successful preparation.
 
std::size_t reused_count () const
 Count requested computations served from the accepted cache.
 

Public Attributes

std::array< PreparationStatus, detail::KeyListSize< ResultsT >::value > statuses {}
 
std::array< bool, detail::KeyListSize< SourcesT >::value > changed_sources {}
 

Member Function Documentation

◆ computed_count()

template<IsKeyList ResultsT, IsKeyList SourcesT>
std::size_t serif::utils::dependencies::PreparationReport< ResultsT, SourcesT >::computed_count ( ) const
inlinenodiscard

Count only computations evaluated during this successful preparation.

◆ reused_count()

template<IsKeyList ResultsT, IsKeyList SourcesT>
std::size_t serif::utils::dependencies::PreparationReport< ResultsT, SourcesT >::reused_count ( ) const
inlinenodiscard

Count requested computations served from the accepted cache.

◆ source_changed()

template<IsKeyList ResultsT, IsKeyList SourcesT>
template<typename KeyT>
requires detail::contains_key_v<KeyT, SourcesT>
bool serif::utils::dependencies::PreparationReport< ResultsT, SourcesT >::source_changed ( ) const
inlinenodiscard

An unused source is reported unchanged because it was not inspected by this request.

◆ status()

template<IsKeyList ResultsT, IsKeyList SourcesT>
template<typename KeyT>
requires detail::contains_key_v<KeyT, ResultsT>
PreparationStatus serif::utils::dependencies::PreparationReport< ResultsT, SourcesT >::status ( ) const
inlinenodiscard

Inspect a computation by its result key rather than an implementation index.

Member Data Documentation

◆ changed_sources

template<IsKeyList ResultsT, IsKeyList SourcesT>
std::array<bool, detail::KeyListSize<SourcesT>::value> serif::utils::dependencies::PreparationReport< ResultsT, SourcesT >::changed_sources {}

◆ statuses

template<IsKeyList ResultsT, IsKeyList SourcesT>
std::array<PreparationStatus, detail::KeyListSize<ResultsT>::value> serif::utils::dependencies::PreparationReport< ResultsT, SourcesT >::statuses {}

The documentation for this struct was generated from the following file: