The function insert_non_intersecting_curve inserts a given xmonotone curve into a given arrangement, where the interior of the given curve is disjoint from all existing arrangement vertices and edges. Under this assumption, it is possible to locate the endpoints of the given curve in the arrangement, and use one of the specialized insertion memberfunctions of the arrangement according to the results. The insertion operations creates a single new edge, that is, two twin halfedges, and the function returns a handle for the one directed lexicographically in increasing order (from left to right).
A given pointlocation object is used for answering the two pointlocation queries on the given curve endpoints. By default, the function uses the ``walk along line'' pointlocation strategy  namely, an instance of the class Arr_walk_along_line_point_location<Arrangement_2<Traits,Dcel> >.
#include <CGAL/Arrangement_2.h>
template<typename Traits, typename Dcel, typename PointLocation>  
typename Arrangement_2<Traits,Dcel>::Halfedge_handle  

Precondition
If provided, pl must be attached to the given arrangement arr.