A model fo of this type must provide:

template < class OutputIterator >
OutputIterator fo ( Type1 obj1 , Type2 obj2 , OutputIterator intersections )
Copies in the output iterator the intersection elements between the two objects. intersections iterates on elements of type CGAL::Object, in lexicographic order.

where Type_1 and Type_2 can both be either

Depending on the types Type_1 and Type_2, these elements can be assigned to