OGS
CreatePiecewiseLinearCurve.h
Go to the documentation of this file.
1
13#pragma once
14
15#include <memory>
16#include <vector>
17
18namespace BaseLib
19{
20class ConfigTree;
21}
22
23namespace MathLib
24{
26{
27 std::vector<double> xs;
28 std::vector<double> ys;
29};
30
32 BaseLib::ConfigTree const& config);
33
36template <typename CurveType>
37std::unique_ptr<CurveType> createPiecewiseLinearCurve(
38 BaseLib::ConfigTree const& config)
39{
40 auto [xs, ys] = parsePiecewiseLinearCurveConfig(config);
41 return std::make_unique<CurveType>(std::move(xs), std::move(ys));
42}
43}; // namespace MathLib
PiecewiseLinearCurveConfig parsePiecewiseLinearCurveConfig(BaseLib::ConfigTree const &config)
std::unique_ptr< CurveType > createPiecewiseLinearCurve(BaseLib::ConfigTree const &config)