7 #include "../instance/job.hpp"
11 using JobId = Job::JobId;
15 JobSet(JobId job,
double amount);
17 inline void add(JobId job,
double amount);
18 inline void remove(JobId job,
double amount);
19 JobSet & operator+=(
const JobSet & rhs);
20 JobSet & operator-=(
const JobSet & rhs);
22 const auto & get()
const;
24 double get_amount()
const;
27 bool operator==(
const JobSet &rhs)
const;
29 std::set<std::pair<JobId, double>> content;
32 template<
class _CharT,
class _Traits>
33 friend std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& stream,
const JobSet & jobset);
40 template<
class _CharT,
class _Traits>
41 std::basic_ostream<_CharT, _Traits>&
42 operator<<(std::basic_ostream<_CharT, _Traits>& stream,
const JobSet & jobset)
46 for (
const auto & entry : jobset.content) {
51 stream <<
"(" << entry.first <<
": " << entry.second <<
")";
55 stream <<
"], " << jobset.amount <<
")";