29 for (
auto& [time_m, value_m, integral_m] :
cache_m) {
37std::array<TimeDependenceCache::Item, TimeDependenceCache::CacheSize>::iterator
40 return item.time_m == time;
47 if (
const auto pos =
find(time); pos ==
cache_m.end()) {
50 result = pos->value_m;
59 if (
const auto pos =
find(time); pos ==
cache_m.end()) {
62 result = pos->integral_m;
virtual double getValue(double time)=0
virtual double getIntegral(double time)=0
std::array< Item, CacheSize > cache_m
const Item & placeInCache(double time)
double getIntegral(double time)
std::array< Item, CacheSize >::iterator find(double time)
static constexpr size_t CacheSize
AbstractTimeDependence * timeDependence_m
void setTimeDependence(AbstractTimeDependence *timeDependence)
double getValue(double time)