void operator() (T0 & boxes, T1 const& begin, T2 const& box, T3 const& range) const { if (box.valid()) boxes.emplace_back(box, std::make_pair(std::distance(begin, range.begin()), std::distance(range.begin(), range.end()))); }
result_type operator() (T0 & coords, T1 const& pos) const { if (pos) coords.emplace_back(*pos); }