#pragma once
#include <vector>
#include <utility>
#include <string>

#include "OutputBuffer.h"

namespace CppModelBase
{
    class SimulationOutputs : public OutputBuffer
    {
    private:
        std::vector<std::pair<unsigned long long, PortList>> data;

    public:
        SimulationOutputs();
        SimulationOutputs(const SimulationOutputs &other);
        void RunCyclic(unsigned long long simulationTime_ms);

        bool contains(std::string name);

        nlohmann::json ToJson();
        void Clear();
    };

}
