#ifndef CGAL_KD_CARTESIAN_PER_DIM_H #define CGAL_KD_CARTESIAN_PER_DIM_H #include #include #include #include namespace CGAL { template struct Cartesian_per_dimension : public R_ {}; // TODO: we want to put the actual functors in some other file. Maybe name the // classes Orientation_2 to make it easy to typedef them all. template struct Cartesian_per_dimension,R_,Derived_> : public R_ { typedef R_ Kernel_base; template struct Functor : Kernel_base::template Functor { }; #define CGAL_override_in_dim2(X) \ template struct Functor { \ typedef CartesianDKernelFunctors::X##_2 type; \ } CGAL_override_in_dim2(Orientation_of_points); }; } #endif