20#ifndef HYDROCOUPLETEMPORAL_H
21#define HYDROCOUPLETEMPORAL_H
78 [[nodiscard]]
virtual double duration()
const = 0;
144 [[nodiscard]]
virtual std::span<const double>
times()
const = 0;
180 [[nodiscard]]
virtual std::vector<std::string>
identifiers()
const = 0;
IComponentDataItem is a fundamental unit of data for a component.
Definition hydrocouple.h:1466
IDimension provides the properties of the dimensions of a variable.
Definition hydrocouple.h:1082
IModelComponent interface is the core interface in the HydroCouple standard defining a model componen...
Definition hydrocouple.h:533
IPropertyChanged interface is used to emit signal/event when a property of an object changes.
Definition hydrocouple.h:254
IDateTime interface based on a Julian day.
Definition hydrocoupletemporal.h:39
virtual double julianDay() const =0
Date and time as a julian day value.
virtual double modifiedJulianDay() const =0
Modified Julian day value.
virtual double serialDate() const =0
Serial date number.
virtual ~IDateTime()=default
~IDateTime destructor.
ITimeIdBasedComponentDataItem is an IComponentDataItem with both temporal and identifier-based dimens...
Definition hydrocoupletemporal.h:168
virtual IDimension * identifierDimension() const =0
identifierDimension associated with this data item.
virtual ~ITimeIdBasedComponentDataItem()=default
~ITimeIdBasedComponentDataItem destructor.
virtual std::vector< std::string > identifiers() const =0
identifiers associated with the identifier dimension.
ITimeModelComponent is an IModelComponent that advances through time during simulation and provides a...
Definition hydrocoupletemporal.h:86
virtual ITimeSpan * simulationPeriod() const =0
simulationPeriod of the model.
virtual IDateTime * currentDateTime() const =0
Gets the current date and time of the model simulation.
virtual ~ITimeModelComponent()=default
ITimeModelComponent destructor.
ITimeSeriesComponentDataItem is an IComponentItem with a temporal attribute.
Definition hydrocoupletemporal.h:115
virtual const IDateTime * time(int64_t timeIndex) const =0
Gets the IDateTime for the given time index.
virtual std::span< const double > times() const =0
Bulk access to all time coordinates as Julian day values.
virtual ~ITimeSeriesComponentDataItem()=default
~ITimeSeriesComponentDataItem destructor.
virtual IDimension * timeDimension() const =0
Gets the IDimension of the times.
virtual int64_t timeCount() const =0
Gets the number of times.
virtual ITimeSpan * timeSpan() const =0
Gets the ITimeSpan associated with this data item.
ITimeSpan specifies a time duration.
Definition hydrocoupletemporal.h:66
virtual double duration() const =0
Duration of the timespan in days.
virtual ~ITimeSpan()=default
~ITimeSpan destructor.
Core interface definitions for the HydroCouple component-based modeling framework.
HydroCouple's interfaces that have a time varying component.
Definition hydrocoupletemporal.h:30
HydroCouple namespace contains the core interface specifications for the HydroCouple component-based ...
Definition hydrocouple.h:58