1#ifndef HYDROBRICKS_SPLITTER_H
2#define HYDROBRICKS_SPLITTER_H
9#include "SettingsModel.h"
32 [[nodiscard]]
virtual bool IsValid()
const = 0;
64 throw ShouldNotHappen(
"Splitter::AttachForcing - Should not be called (virtual)");
74 _inputs.push_back(flux);
84 _outputs.push_back(std::move(flux));
119 vector<Flux*> _inputs;
120 std::vector<std::unique_ptr<Flux>> _outputs;
Definition HydroUnit.h:18
Exception for code paths that should never be reached.
Definition Exceptions.h:147
virtual void AttachForcing(Forcing *)
Definition Splitter.h:63
virtual double * GetValuePointer(const string &name)=0
virtual void SetParameters(const SplitterSettings &splitterSettings)=0
virtual bool IsValid() const =0
virtual void Validate() const
Definition Splitter.cpp:53
void AttachFluxIn(Flux *flux)
Definition Splitter.h:72
const string & GetName() const
Definition Splitter.h:104
void AttachFluxOut(std::unique_ptr< Flux > flux)
Definition Splitter.h:82
void SetName(const string &name)
Definition Splitter.h:113
static Splitter * Factory(const SplitterSettings &splitterSettings)
Definition Splitter.cpp:25
const float * GetParameterValuePointer(const SplitterSettings &splitterSettings, const string &name)
Definition Splitter.cpp:42
Definition SettingsModel.h:38