SpECTRE  2021.08.02
TimeSequences::EvenlySpaced< T > Class Template Reference

A sequence of evenly spaced times. More...

#include <TimeSequence.hpp>

Classes

struct  Interval
 
struct  Offset
 

Public Types

using options = tmpl::list< Interval, Offset >
 

Public Member Functions

 EvenlySpaced (T interval, T offset=0, const Options::Context &context={})
 
std::array< std::optional< T >, 3 > times_near (T time) const noexcept override
 Returns the time in the sequence nearest to time, the time before that, and the time after, in numerical order. These values allow a consumer to find the times in the sequence bracketing the given time and give enough additional information so that exact or roundoff matches can be handled however the consumer wishes. Any time that does not exist (because the sequence terminates) is returned as an empty std::optional. The central std::optional will be populated unless the sequence is empty. More...
 
void pup (PUP::er &p) noexcept override
 
- Public Member Functions inherited from TimeSequence< T >
 WRAPPED_PUPable_abstract (TimeSequence)
 

Static Public Attributes

static constexpr Options::String help = "A sequence of evenly spaced times."
 

Detailed Description

template<typename T>
class TimeSequences::EvenlySpaced< T >

A sequence of evenly spaced times.

Member Function Documentation

◆ times_near()

template<typename T >
std::array< std::optional< T >, 3 > TimeSequences::EvenlySpaced< T >::times_near ( T  time) const
overridevirtualnoexcept

Returns the time in the sequence nearest to time, the time before that, and the time after, in numerical order. These values allow a consumer to find the times in the sequence bracketing the given time and give enough additional information so that exact or roundoff matches can be handled however the consumer wishes. Any time that does not exist (because the sequence terminates) is returned as an empty std::optional. The central std::optional will be populated unless the sequence is empty.

Implements TimeSequence< T >.