\begin{ccRefClass} {Feature_dimension<T, K = Kernel_traits<T>::Kernel>}

\ccDefinition
The class \ccRefName\ allows to retrieve the geometric dimension of a type.

\ccInclude{CGAL/Dimension.h}

\ccConstants

\ccVariable{static const int value;}{The dimension value as a compile-time
integral constant. It is implemented as \ccc{K::Feature_dimension<T>::type::value}.
It exists only when the dimension is a compile-time constant.}

\ccTypes

\ccTypedef{type;}{Either \ccc{Dimension_tag<dim>} if the dimension is a
compile-time constant of value \ccc{dim}, or \ccc{Dynamic_dimension_tag}
otherwise.  It is implemented as \ccc{K::Feature_dimension<T>::type}. }

\ccCreation
\ccCreationVariable{d}

\ccExample

The following retrieves the dimension of a point type.

\begin{cprog}
  typedef K::Point_2 Point;
  int dimension = Feature_dimension<Point, K>::value;
  assert(dimension == 0);
\end{cprog} 

\ccSeeAlso
\ccRefConceptPage{Dimension_tag}
\ccRefConceptPage{Dynamic_dimension_tag}
\ccRefConceptPage{Ambiant_dimension}

\end{ccRefClass} 
