\begin{ccRefConcept}{KdtreeDTraits} The \ccStyle{Kdtree_d} class is parameterized with the interface class \ccStyle{Traits} which defines the abstract interface between the \ccStyle{Kdtree_d} class and the data (i.e., points). The following requirement catalog lists the primitives, i.e.,~types, member functions etc., that must be defined for a class that can be used to parameterize kd-trees. Ready-made implementation are available by the \ccStyle{Kdtree_d} default traits classes. \ccThree{static void}{}{\hspace*{7.1cm}} \ccTwo{}{\hspace*{7.1cm}} \ccCreationVariable{t} \ccDefinition A class \ccClassName\ that satisfies the requirements of an interface class for a \ccStyle{Kdtree_d} class must provide the following types and operations. \ccTypes \ccNestedType{Point}{A type to hold a input item.} \ccOperations % \ccSetTwoOfThreeColumns{4cm}{4cm} \ccMethod{static Comparison_result compare( int k, const Point & p0, const Point & p1);} {compare the \ccStyle{k}-th coordinate of $p0$ and $p1$. Return \ccStyle{LARGER} if $p0_k > p1_k$, \ccStyle{SMALLER} if $p0_k < p1_k$, or else \ccStyle{EQUAL}. } \ccMethod{static void copy_coord( int k, Point & dest, const Point & src );}{Copy the $k$-th coordinate of $src$ to the $k$-th coordinate of $dest$.} \ccMethod{static int dimension( const Point & pnt );} {return the dimension of \ccStyle{pnt}} \end{ccRefConcept}