#pragma once #include "KineticsComp.h" #include "WrapperBase.hpp" #include "cxxKinetics.h" #include #include class KineticWrapper : public WrapperBase { public: KineticWrapper(cxxKinetics *kinetics, const std::vector &kin_comps); void get(std::span &data) const override; void set(const std::span &data) override; static std::vector names(cxxKinetics *kinetics, std::vector &kin_comps); private: cxxKinetics *kinetics; class KineticCompWrapper : public WrapperBase { public: KineticCompWrapper(cxxKineticsComp &comp); void get(std::span &data) const override; void set(const std::span &data) override; static std::vector names(const cxxKineticsComp &comp); private: cxxKineticsComp &kin_comp; }; std::vector> kinetic_comps; };