\begin{ccRefConcept}{Point} The concept of a {\em Point} is defined by a set of requirements on the provision of certain types in a \ccc{Kernel}. \ccRefines \ccc{Kernel} \ccNestedType{Object_list}{shall contain at least \ccc{Point_tag} and \ccc{Point_cartesian_const_iterator_tag}.} \ccNestedType{Type::type}{shall be CopyConstructible.} \ccNestedType{Type::type}{shall be a forward iterator (except that it may return an rvalue) whose \ccc{value_type} is \ccc{Kernel::Type::type}.} \ccNestedType{Functor>::type}{[Optional] A default converter it available to \ccc{Kernel_converter}, but may be unsuitable if your Point type is too original.} \ccNestedType{Functor>::type}{shall provide \ccc{Type::type operator()(Type::type const&, Extremity_tag)const} where \ccc{Extemity_tag} is \ccc{Begin_tag} or \ccc{End_tag}.} \ccNestedType{Functor::type}{shall provide \ccc{FT operator()(Type::type,int k)const} which returns the $k$th Cartesian coordinate of the point.} \ccNestedType{Functor::type}{shall provide \ccc{int operator()(Type::type)const} which returns the dimension of a point.} \ccNestedType{Functor>::type}{shall provide:\\ \ccc{Type::type operator()(int dim)const} which constructs a point at the origin;\\ \ccc{Type::type operator()()const} the same, when \ccc{Default_ambient_dimension} is known;\\ \ccc{Type::type operator()(Type::type)const} which copies (???);\\ \ccc{Type::type operator()(Iter, Iter, Cartesian_tag)const} which reads the Cartesian coordinates from the iterators;\\ \ccc{Type::type operator()(Iter, Iter)const} same as above;\\ \ccc{Type::type operator()(FT...)const} which reads the Cartesian coordinates from the arguments, when \ccc{Default_ambient_dimension} is known. } \end{ccRefConcept}