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);
 }