#pragma once

#include <vector>
#include "utils/real_time/real_time.hpp"
#include "utils/fvec/fvec.hpp"
#include <hack/logger/logger.hpp>

namespace hr
{
  struct result
  {
    struct bit
    {
      real_time m_duration;
      fvec_t m_value;
    };

    void set_bit(bit& b)
    {
      m_data.push_back(b);
    }

    bool empty() const
    {
      bool res = true;
      try
      {
        if (!m_data.empty()) res = m_data.at(0).m_value.empty();
      }
      catch(std::exception& e)
      {
        hack::error()(e.what());
      }
      return res;
    }

    std::vector<bit> m_data;
  };
}
