#include <prepared.hpp>
|
| | Prepared (PlanT plan) |
| | Own a plan and its accepted cache; contexts are supplied separately to each preparation.
|
| |
| | Prepared (const Prepared &)=delete |
| |
| Prepared & | operator= (const Prepared &)=delete |
| |
| | Prepared (Prepared &&other) |
| | Transfer accepted results while leaving the original object unprepared.
|
| |
| Prepared & | operator= (Prepared &&)=delete |
| |
template<IsDeclaration RequestedT = typename PlanT::Results>
requires detail::declaration_subset_v<std::remove_cvref_t<RequestedT>, typename PlanT::Results> |
| std::expected< Report, Failure > | try_prepare (const ContextT &context, RequestedT={}, const PreparationMode mode=PreparationMode::reuse_unchanged) |
| | Prepare the requested results and their prerequisites, publishing only a complete successful candidate.
|
| |
template<typename KeyT>
requires detail::contains_key_v<KeyT, typename PlanT::Results> |
| bool | contains () const |
| | Test whether a result belongs to the latest successful request, including its prerequisites.
|
| |
template<typename KeyT>
requires detail::contains_key_v<KeyT, typename PlanT::Results> |
| const auto & | get () const |
| | Read a frozen result. References remain valid until the next preparation or invalidation.
|
| |
| const Report & | report () const noexcept |
| | Report reuse and rebuilding from the latest successful preparation.
|
| |
| bool | ready () const noexcept |
| | A failed preparation makes all result access unavailable until a subsequent success.
|
| |
| void | invalidate () noexcept |
| | Discard accepted snapshots and results, requiring fresh preparation on the next request.
|
| |
|
| template<typename KeyT> |
| void | inspect_source (const ContextT &context, Storage &candidate, Report &report, SourceMask &inspected, PreparationMode mode) const |
| | Inspect each required source once; other context objects need no snapshot policy.
|
| |
| template<typename KeyT> |
| const auto & | input (const ContextT &context, const Storage &candidate) const |
| | Computations read either a supplied source or a prerequisite already prepared in this candidate.
|
| |
| template<std::size_t Index, typename... Keys> |
| std::expected< void, Failure > | prepare_one (const ContextT &context, Storage &candidate, Report &report, SourceMask &inspected, PreparationMode mode, Declaration< Keys... >) const |
| | Reuse a result only when every input version matches its accepted version.
|
| |
| template<std::size_t Position> |
| std::expected< void, Failure > | prepare_in_order (const ContextT &context, Storage &candidate, Report &report, SourceMask &inspected, const ResultMask &required, PreparationMode mode) const |
| | Follow the compile-time order while skipping branches outside the requested closure.
|
| |
|
| template<typename KeyT> |
| static consteval std::size_t | version_index () |
| | Share one version namespace between source snapshots and computed results.
|
| |
◆ Bindings
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
◆ Failure
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
◆ Report
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
◆ ResultMask
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
◆ SourceMask
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
◆ Sources
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
◆ Storage
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
◆ Traits
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
◆ Prepared() [1/3]
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
Own a plan and its accepted cache; contexts are supplied separately to each preparation.
◆ Prepared() [2/3]
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
◆ Prepared() [3/3]
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
Transfer accepted results while leaving the original object unprepared.
◆ contains()
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
Test whether a result belongs to the latest successful request, including its prerequisites.
◆ get()
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
Read a frozen result. References remain valid until the next preparation or invalidation.
◆ input()
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
template<typename KeyT>
Computations read either a supplied source or a prerequisite already prepared in this candidate.
◆ inspect_source()
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
template<typename KeyT>
Inspect each required source once; other context objects need no snapshot policy.
◆ invalidate()
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
Discard accepted snapshots and results, requiring fresh preparation on the next request.
◆ operator=() [1/2]
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
◆ operator=() [2/2]
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
◆ prepare_in_order()
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
template<std::size_t Position>
Follow the compile-time order while skipping branches outside the requested closure.
◆ prepare_one()
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
template<std::size_t Index, typename... Keys>
Reuse a result only when every input version matches its accepted version.
◆ ready()
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
A failed preparation makes all result access unavailable until a subsequent success.
◆ report()
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
Report reuse and rebuilding from the latest successful preparation.
◆ try_prepare()
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
template<IsDeclaration RequestedT = typename PlanT::Results>
requires
detail::declaration_subset_v<std::remove_cvref_t<RequestedT>, typename PlanT::Results>
Prepare the requested results and their prerequisites, publishing only a complete successful candidate.
◆ version_index()
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
template<typename KeyT>
|
|
inlinestaticnodiscardconstevalprivate |
Share one version namespace between source snapshots and computed results.
◆ m_active
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
◆ m_plan
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
◆ m_ready
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
◆ m_report
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
◆ m_storage
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
◆ source_count
template<typename PlanT, typename ContextT, typename ErrorT = std::string>
The documentation for this class was generated from the following file: