SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
TimeSteppers::BoundaryHistory< LocalData, RemoteData, UntypedCouplingResult >::SideAccessCommon< Local, Mutable > Class Template Reference

Public Types

using MutableData = tmpl::conditional_t<Local, LocalData, RemoteData>
using Data = tmpl::conditional_t<Mutable, MutableData, const MutableData>

Public Member Functions

size_t size () const override
const TimeStepIdoperator[] (size_t n) const override
const TimeStepIdoperator[] (const std::pair< size_t, size_t > &step_and_substep) const override
size_t integration_order (size_t n) const override
size_t integration_order (const TimeStepId &id) const override
size_t number_of_substeps (size_t n) const override
size_t number_of_substeps (const TimeStepId &id) const override
template<typename Func>
void for_each (Func &&func) const
 Apply func to each entry.
Data & data (size_t n) const
 Access the data stored on the side. When performed through a MutableSideAccess, these allow modification of the data. Performing such modifications likely invalidates the coupling cache for the associated BoundaryHistory object, which should be cleared.
Data & data (const TimeStepId &id) const
 Access the data stored on the side. When performed through a MutableSideAccess, these allow modification of the data. Performing such modifications likely invalidates the coupling cache for the associated BoundaryHistory object, which should be cleared.

Static Public Member Functions

static constexpr size_t max_size ()

Protected Types

using StoredHistory

Protected Member Functions

tmpl::conditional_t< Mutable, CircularDeque< BoundaryHistory_detail::StepData< MutableData > > &, const CircularDeque< BoundaryHistory_detail::StepData< MutableData > > & > parent_data () const
auto & step_data (const TimeStepId &id) const
auto & entry (const TimeStepId &id) const
auto & entry (const std::pair< size_t, size_t > &step_and_substep) const
 SideAccessCommon (gsl::not_null< StoredHistory * > parent)

Protected Attributes

gsl::not_null< StoredHistory * > parent_

Member Typedef Documentation

◆ StoredHistory

template<typename LocalData, typename RemoteData, typename UntypedCouplingResult>
template<bool Local, bool Mutable>
using TimeSteppers::BoundaryHistory< LocalData, RemoteData, UntypedCouplingResult >::SideAccessCommon< Local, Mutable >::StoredHistory
protected
Initial value:
tmpl::conditional_t<Mutable, BoundaryHistory, const BoundaryHistory>

Member Function Documentation

◆ for_each()

template<typename LocalData, typename RemoteData, typename UntypedCouplingResult>
template<bool Local, bool Mutable>
template<typename Func>
void TimeSteppers::BoundaryHistory< LocalData, RemoteData, UntypedCouplingResult >::SideAccessCommon< Local, Mutable >::for_each ( Func && func) const

Apply func to each entry.

The function func must accept two arguments, one of type const TimeStepId& and a second of either type const Data& or gsl::not_null<Data*>, with the not_null version only available if this is a MutableSideAccess. If func takes a not_null, it must return a bool indicating if it modified the entry. If any entries are modified, the coupling cache of parent BoundaryHistory will be cleared.


The documentation for this class was generated from the following file:
  • src/Time/BoundaryHistory.hpp