epr24pr5-ojanssen2/Assignment.cpp

40 lines
988 B
C++

#include "Assignment.h"
#include "FormatError.h"
using err::FormatError;
namespace models {
Assignment::Assignment(const int& user_id, const int& task_id) : user_id(user_id), task_id(task_id) {}
Assignment::Assignment(): user_id(0), task_id(0) {}
ostream& Assignment::write(ostream& stream) {
stream << this;
return stream;
}
int Assignment::get_task_id() const {
return this->task_id;
}
int Assignment::get_user_id() const {
return this->user_id;
}
ostream& operator<<(ostream& os, const Assignment& t) {
os << t.get_user_id() << " " << t.get_task_id();
return os;
}
istream& operator>>(istream& is, Assignment& t) {
int user_id;
is >> user_id;
if (!is)
throw FormatError("Userid Nan");
int task_id;
is >> task_id;
if (!is)
throw FormatError("Taskid Nan");
t = {user_id, task_id};
return is;
}
}