#pragma once #include #include struct CompositeModel : IModel { std::unique_ptr base; std::unique_ptr noise; CompositeModel(std::unique_ptr b, std::unique_ptr n) : base(std::move(b)), noise(std::move(n)) {} float evaluate(size_t t) override { return base->evaluate(t) + noise->evaluate(t); } };