- void AddNeed(const Need &n) { needs.push_back(n); }
- const std::vector<Need> &Needs() const noexcept { return needs; }
+ void AddNeed(std::unique_ptr<Need> &&n) { needs.emplace_back(std::move(n)); }
+ const std::vector<std::unique_ptr<Need>> &Needs() const noexcept { return needs; }