+ return (doubleEq(date_, e2.date_)) && (doubleEq(value_, e2.value_));
+}
+std::ostream& operator<<(std::ostream& out, const DatedValue& e)
+{
+ out << e.date_ << " " << e.value_;
+ return out;
+}
+
+trace::trace()
+{
+ /* Add the first fake event storing the time at which the trace begins */
+ tmgr::DatedValue val(0, -1);
+ event_list.push_back(val);
+}
+trace::~trace() = default;
+future_evt_set::future_evt_set() = default;
+future_evt_set::~future_evt_set()
+{
+ while (not heap_.empty()) {
+ delete heap_.top().second;
+ heap_.pop();
+ }
+}
+}
+}