## CGAL::Circular_kernel_2<Kernel,AlgebraicKernelForCircles>

*#include <CGAL/Circular_kernel_2.h>*

### Is Model for the Concepts

*CircularKernel*

### Parameters

The first parameter of the circular kernel must be instantiated with a
model of the *Kernel* concept. The *Circular_kernel_2* class
template derives from this first parameter, in order to reuse all
needed functionalities on basic objects provided by a model of the
Kernel concept.

The second parameter, *AlgebraicKernelForCircles*, is meant to provide the
circular kernel with all the algebraic functionalities required for the
manipulation of algebraic curves.

### Inherits From

*Kernel*

### Types

The circular kernel uses basic number types of the algebraic kernel:

In fact, the two number types *AlgebraicKernelForCircles::RT* and
*Kernel::RT* must coincide, as well as
*AlgebraicKernelForCircles::FT* and *Kernel::FT*.
The following types are available, as well as all the functionality on
them described in the *CircularKernel* concept.

### See Also

*Kernel*

*AlgebraicKernelForCircles*

*CGAL::Exact_circular_kernel_2*