
namespace CGAL {

/*!
\ingroup kernel_classes

A model for a `Kernel` using %Cartesian coordinates to represent the 
geometric objects. In order for `Simple_cartesian` to model Euclidean geometry 
in \f$ E^2\f$ and/or \f$ E^3\f$, for some mathematical field \f$ E\f$ (<I>e.g.</I>, 
the rationals \f$\mathbb{Q}\f$ or the reals \f$\mathbb{R}\f$), the template parameter `FieldNumberType` 
must model the mathematical field \f$ E\f$. That is, the field operations on this 
number type must compute the mathematically correct results. If the number 
type provided as a model for `FieldNumberType` is only an approximation of a 
field (such as the built-in type `double`), then the geometry provided by 
the kernel is only an approximation of Euclidean geometry. 

\cgalModels `Kernel`

\cgalHeading{Implementation}

In contrast to `Cartesian`, no reference counting 
is used internally. This eases debugging, but may slow down algorithms 
that copy objects intensively. 

\sa `CGAL::Cartesian<FieldNumberType>` 
\sa `CGAL::Homogeneous<RingNumberType>` 
\sa `CGAL::Simple_homogeneous<RingNumberType>` 

*/
template< typename FieldNumberType >
struct Simple_cartesian {

/// \name Types 
/// @{

/*!

*/ 
typedef FieldNumberType FT; 

/*!

*/ 
typedef FieldNumberType RT; 

/// @}

}; /* end Simple_cartesian */
} /* end namespace CGAL */
