A change in boost 1_64_0 has broken backward compatibility of the apply() function in boost::geometry::partition. I have used this apply() function in multiple versions of boost geometry for 6 years up through version 1_62_0. The sample code is provided below. It's a minor modification of a sample Barend gave in a post on labeling intersections in polygons. The codepad links in that post don't work anymore.
boost::geometry::partition < boost::geometry::model::box<Point2D>, do_expand, has_overlap >::apply(owners, mineral_rights, visitor, 1);