15 std::vector<std::unique_ptr<lpart>>
v;
22 static_assert(std::is_base_of<lpart, T>::value,
23 "T must be derived from lpart.");
24 v.push_back(std::make_unique<T>(part));
37 std::vector<std::unique_ptr<lpart>>
clone_vec ()
const {
39 std::vector<std::unique_ptr<lpart>> _v;
41 _v.push_back(std::unique_ptr<lpart>(ptr->clone()));
50 for (
auto &part_ptr : parts.
v) {
51 out << std::endl <<
"#" << part_index <<
": " << *part_ptr;
Vector of lparts.
Definition: lpart_vec.h:12
std::vector< std::unique_ptr< lpart > > clone_vec() const
Return a deep copy of the raw vector of lparts.
Definition: lpart_vec.h:37
friend std::ostream & operator<<(std::ostream &out, const lpart_vec &parts)
Printer.
Definition: lpart_vec.h:47
void add_lpart(T part)
Add a lpart to the vector.
Definition: lpart_vec.h:21
std::vector< std::unique_ptr< lpart > > v
Vector of lpart.
Definition: lpart_vec.h:15
lpart_vec cpy() const
Return a deep copy of the instance.
Definition: lpart_vec.h:28