3#include <boost/describe.hpp>
4#include <boost/json.hpp>
77 return not(*
this == other);
82 boost::json::value_from_tag, boost::json::value &v,
86 v =
static_cast<int>(s);
90 boost::json::value_to_tag<todo::Task::Status>, boost::json::value
const &v
99 Task, (), (desc, child_tasks, priority, status, due_date)
BOOST_DESCRIBE_ENUM(Task::Status, NOT_STARTED, IN_PROGRESS, COMPLETED)
void tag_invoke(boost::json::value_from_tag, boost::json::value &v, todo::Task::Status const &s)
Definition task.h:81
BOOST_DESCRIBE_STRUCT(Task::Date,(),(year, month, day))
uint16_t year
Definition task.h:23
uint16_t day
Definition task.h:25
uint16_t month
Definition task.h:24
Task(const Task &)=default
std::string desc
Description of the task.
Definition task.h:11
enum todo::Task::Status status
Completion status of the task.
Task & operator=(const Task &)=default
struct todo::Task::Date due_date
Due date of the task.
Status
Definition task.h:15
@ NOT_STARTED
Definition task.h:16
@ COMPLETED
Definition task.h:18
@ IN_PROGRESS
Definition task.h:17
@ INVALID
Definition task.h:19
std::vector< Task > child_tasks
Child tasks.
Definition task.h:12
Task & operator=(Task &&)=default
bool operator==(const Task &other) const
Definition task.h:42
Task(std::string &&desc, uint16_t prio, Status completion, Date &&date)
Definition task.h:34
uint16_t priority
Priority of the task.
Definition task.h:13
bool operator!=(const Task &other) const
Definition task.h:75