CGAL::insert
Definition
The function insert inserts one or more curves or $$xmonotone curves
into a given arrangement, where no restrictions are imposed on the inserted
curves. If an inserted curve is not $$xmonotone curve, it is subdivided
into $$xmonotone subcurves (and perhaps isolated points), which are
inserted into the arrangement.
#include <CGAL/Arrangement_2.h>
template<class Traits, class Dcel, class Curve, class PointLocation>

void

insert ( Arrangement_2<Traits,Dcel>& arr, Curve c, PointLocation pl = walk_pl)

Inserts the given curve c into the arrangement arr.
c is subdivided into $$xmonotone subcurves (and perhaps isolated
points). Each subcurve is in turn inserted into the arrangement by locating
its left endpoint and computing its zone until reaching the right endpoint.
The given pointlocation object pl is used to locate the left
endpoints of the $$xmonotone curves. 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> >.
Precondition
If provided, pl must be attached to the given arrangement
arr.
Inserts the$$xmonotone (only) curve xc into the
arrangement arr. The object obj, which either
wraps a Vertex_const_handle, a Halfedge_const_handle, or a
Face_const_handle, represents the location of xc's left
endpoint in the arrangement. The zone of xc is computed strating
from the feature represented by obj. As in the case above, the
zone computation terminates, when the right endpoint is reached.
Thus, pointlocation is not required.
template<class Traits, class Dcel, class InputIterator>

void

insert ( Arrangement_2<Traits,Dcel>& arr, InputIterator first, InputIterator last)

Aggregately inserts the curves or $$xmonotone curves in the range
[first,last) into the arrangement arr using the sweepline
framework.
#include <CGAL/Arrangement_with_history_2.h>
Inserts the given curve c into the arrangement with history arr,
and returns a handle to the inserted curve. c is subdivided into
$$xmonotone subcurves (and perhaps isolated points). Each subcurve is in
turn inserted into the arrangement by locating its left endpoint and
computing its zone until reaching the right endpoint.
The given pointlocation object pl is used to locate the left
endpoints of the $$xmonotone curves. 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> >.
Precondition
If provided, pl is attached to the given arrangement
arr.
Aggregately inserts the curves in the range [first,last) into the
arrangement with history arr using the sweepline framework.
Requirements
 If the curve is $$xmonotone curve then The instantiated
Traits class must model the ArrangementXMonotoneTraits_2
concept. In case that the curve is not $$xmonotone then the
instantiated Traits class must model the
ArrangementTraits_2 concept. That is, it should define the
Curve_2 type, and support its subdivision into $$xmonotone
subcurves (and perhaps isolated points).
 The pointlocation object pl, must model the
ArrangementPointLocation_2 concept.