blob: e4fd6d4b6ac2e1e19739831aec251939c7af767a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#ifndef OBJECTIVE_H
#define OBJECTIVE_H
#include "activity.h"
#include <memory>
#include <special_members.hpp>
class Orders;
class Objective {
public:
explicit Objective(Orders * os) : orders(os) { }
DEFAULT_MOVE_COPY(Objective);
virtual ~Objective() = default;
[[nodiscard]] virtual Objective * complete() const;
[[nodiscard]] virtual ActivityPtr createActivity() const = 0;
Orders * orders;
};
using ObjectivePtr = std::unique_ptr<Objective>;
#endif
|