\begin{ccRefFunctionObjectConcept}{CircularKernel::CompareX_2} \ccRefines \ccc{Kernel::CompareX_2} \ccCreationVariable{fo} An object \ccVar\ of this type must provide in addition: \ccMemberFunction{Comparison_result operator() (const CircularKernel::Circular_arc_point_2 &p, const CircularKernel::Circular_arc_point_2 &q );} {Compares the $x$-coordinates of $p$ and $q$.} \ccMemberFunction{Comparison_result operator() (const CircularKernel::Point_2 &p, const CircularKernel::Circular_arc_point_2 &q );} {same.} \ccMemberFunction{Comparison_result operator() (const CircularKernel::Circular_arc_point_2 &p, const CircularKernel::Point_2 &q );} {same.} \ccHasModels \ccc{Circular_kernel_2::Compare_x_2;} \ccSeeAlso \ccRefIdfierPage{CGAL::compare_x} \end{ccRefFunctionObjectConcept} \begin{ccRefFunctionObjectConcept}{CircularKernel::CompareY_2} \ccRefines \ccc{Kernel::CompareY_2} \ccCreationVariable{fo} An object \ccVar\ of this type must provide in addition: \ccMemberFunction{Comparison_result operator() (const CircularKernel::Circular_arc_point_2 &p, const CircularKernel::Circular_arc_point_2 &q );} {Compares the $y$-coordinates of $p$ and $q$.} \ccMemberFunction{Comparison_result operator() (const CircularKernel::Point_2 &p, const CircularKernel::Circular_arc_point_2 &q );} {same.} \ccMemberFunction{Comparison_result operator() (const CircularKernel::Circular_arc_point_2 &p, const CircularKernel::Point_2 &q );} {same.} \ccHasModels \ccc{Circular_kernel_2::Compare_y_2;} \ccSeeAlso \ccRefIdfierPage{CGAL::compare_y} \end{ccRefFunctionObjectConcept} \begin{ccRefFunctionObjectConcept}{CircularKernel::CompareXY_2} \ccRefines \ccc{Kernel::CompareXY_2} \ccCreationVariable{fo} An object \ccVar\ of this type must provide in addition: \ccMemberFunction{Comparison_result operator() (const CircularKernel::Circular_arc_point_2 &p, const CircularKernel::Circular_arc_point_2 &q );} {Compares $p$ and $q$ according to the lexicographic ordering on $x$- and $y$-coordinates.} \ccMemberFunction{Comparison_result operator() (const CircularKernel::Point_2 &p, const CircularKernel::Circular_arc_point_2 &q );} {same.} \ccMemberFunction{Comparison_result operator() (const CircularKernel::Circular_arc_point_2 &p, const CircularKernel::Point_2 &q );} {same.} \ccHasModels \ccc{Circular_kernel_2::Compare_xy_2;} \ccSeeAlso \ccRefIdfierPage{CGAL::compare_xy} \end{ccRefFunctionObjectConcept} \begin{ccRefFunctionObjectConcept}{CircularKernel::CompareYatX_2} \ccCreationVariable{fo} An object \ccVar\ of this type must provide two operators that compare a point $p$ and an arc $a$ on the vertical line passing through $p$. \ccMemberFunction{Comparison_result operator() (const CircularKernel::Circular_arc_point_2 &p, const CircularKernel::Circular_arc_2 &a);} {For a circular arc.} \ccMemberFunction{Comparison_result operator() (const CircularKernel::Circular_arc_point_2 &p, const CircularKernel::Line_arc_2 &a);} {For a segment.} \ccHasModels \ccc{Circular_kernel_2::Compare_y_at_x_2;} \ccSeeAlso \ccRefIdfierPage{CGAL::compare_y_at_x} \end{ccRefFunctionObjectConcept} \begin{ccRefFunctionObjectConcept}{CircularKernel::CompareYtoRight_2} \ccCreationVariable{fo} An object \ccVar\ of this type must provide operators that compare vertically two arcs on the right side of a common point $p$: \ccMemberFunction{Comparison_result operator() (const Circular_kernel_2::Circular_arc_2 &a1, const Circular_kernel_2::Circular_arc_2 &a2, const Circular_kernel_2::Circular_arc_point_2 &p);} {For two circular arcs.} \ccMemberFunction{Comparison_result operator() (const Circular_kernel_2::Line_arc_2 &a1, const Circular_kernel_2::Line_arc_2 &a2, const Circular_kernel_2::Circular_arc_point_2 &p);} {For two segments.} \ccMemberFunction{Comparison_result operator() (const Circular_kernel_2::Line_arc_2 &a1, const Circular_kernel_2::Circular_arc_2 &a2, const Circular_kernel_2::Circular_arc_point_2 &p);} {For a segment and an arc.} \ccMemberFunction{Comparison_result operator() (const Circular_kernel_2::Circular_arc_2 &a1, const Circular_kernel_2::Line_arc_2 &a2, const Circular_kernel_2::Circular_arc_point_2 &p);} {Same as previous.} \ccHasModels \ccc{Circular_kernel_2::Compare_y_to_right_2;} \ccSeeAlso \ccRefIdfierPage{CGAL::compare_y_to_right} \end{ccRefFunctionObjectConcept}