diff --git a/src/libnest2d/include/libnest2d/libnest2d.hpp b/src/libnest2d/include/libnest2d/libnest2d.hpp index 104445a289..3d0c6f9a4c 100644 --- a/src/libnest2d/include/libnest2d/libnest2d.hpp +++ b/src/libnest2d/include/libnest2d/libnest2d.hpp @@ -647,8 +647,7 @@ public: * This method makes possible to "preload" some items into the placer. It * will not move these items but will consider them as already packed. */ - template> - inline void preload(const Range& packeditems = Range()) + inline void preload(const ItemGroup& packeditems) { impl_.preload(packeditems); } diff --git a/src/libnest2d/include/libnest2d/placers/placer_boilerplate.hpp b/src/libnest2d/include/libnest2d/placers/placer_boilerplate.hpp index ef5056910d..309a5007de 100644 --- a/src/libnest2d/include/libnest2d/placers/placer_boilerplate.hpp +++ b/src/libnest2d/include/libnest2d/placers/placer_boilerplate.hpp @@ -60,8 +60,7 @@ public: } template> - bool pack(Item& item, - const Range& rem = Range()) { + bool pack(Item& item, const Range& rem = Range()) { auto&& r = static_cast(this)->trypack(item, rem); if(r) { items_.push_back(*(r.item_ptr_)); @@ -70,9 +69,8 @@ public: return r; } - template> - void preload(const Range& packeditems = Range()) { - items_.insert(items_.end(), packeditems.from, packeditems.to); + void preload(const ItemGroup& packeditems) { + items_.insert(items_.end(), packeditems.begin(), packeditems.end()); farea_valid_ = false; } diff --git a/src/libnest2d/include/libnest2d/selections/firstfit.hpp b/src/libnest2d/include/libnest2d/selections/firstfit.hpp index 25fb73590f..d521673b44 100644 --- a/src/libnest2d/include/libnest2d/selections/firstfit.hpp +++ b/src/libnest2d/include/libnest2d/selections/firstfit.hpp @@ -46,7 +46,7 @@ public: for(ItemGroup& ig : packed_bins_) { placers.emplace_back(bin); placers.back().configure(pconfig); - placers.back().preload({ig.begin(), ig.end()}); + placers.back().preload(ig); } std::copy(first, last, std::back_inserter(store_));