diff --git a/Kernel_23/include/CGAL/Exact_predicates_exact_constructions_kernel.h b/Kernel_23/include/CGAL/Exact_predicates_exact_constructions_kernel.h index 7afcad0c2fb..02f8314d0b3 100644 --- a/Kernel_23/include/CGAL/Exact_predicates_exact_constructions_kernel.h +++ b/Kernel_23/include/CGAL/Exact_predicates_exact_constructions_kernel.h @@ -41,27 +41,60 @@ namespace CGAL { +// The following are redefined kernels instead of simple typedefs in order to shorten +// template name length (for error messages, mangling...). + #ifdef CGAL_DONT_USE_LAZY_KERNEL #ifdef CGAL_USE_GMP -typedef Filtered_kernel > > - Exact_predicates_exact_constructions_kernel; +// Equivalent to Filtered_kernel > > +class Epeck + : public Filtered_kernel_adaptor< + Type_equality_wrapper< Simple_cartesian >::Base::Type, Epeck >, +#ifdef CGAL_NO_STATIC_FILTERS + false > #else -typedef Filtered_kernel > > > - Exact_predicates_exact_constructions_kernel; + true > #endif +{}; #else +// Equivalent to Filtered_kernel > > > +class Epeck + : public Filtered_kernel_adaptor< + Type_equality_wrapper< Simple_cartesian > >::Base::Type, Epeck >, +#ifdef CGAL_NO_STATIC_FILTERS + false > +#else + true > +#endif +{}; +#endif + +#else // CGAL_DONT_USE_LAZY_KERNEL #ifdef CGAL_USE_GMP -typedef Lazy_kernel > - Exact_predicates_exact_constructions_kernel; +// Equivalent to Lazy_kernel > +class Epeck + : public Type_equality_wrapper< + Lazy_kernel_base< Simple_cartesian, Simple_cartesian, + Cartesian_converter< Simple_cartesian, Simple_cartesian >, Epeck>, + Epeck > +{}; + #else -typedef Lazy_kernel > > - Exact_predicates_exact_constructions_kernel; +// Equivalent to Lazy_kernel > > +class Epeck + : public Type_equality_wrapper< + Lazy_kernel_base< Simple_cartesian >, Simple_cartesian, + Cartesian_converter< Simple_cartesian >, Simple_cartesian >, Epeck>, + Epeck > +{}; #endif -#endif +#endif // CGAL_DONT_USE_LAZY_KERNEL + +typedef Epeck Exact_predicates_exact_constructions_kernel; } //namespace CGAL diff --git a/Kernel_23/include/CGAL/Exact_predicates_inexact_constructions_kernel.h b/Kernel_23/include/CGAL/Exact_predicates_inexact_constructions_kernel.h index 2fc3c51c03c..4b3a44de464 100644 --- a/Kernel_23/include/CGAL/Exact_predicates_inexact_constructions_kernel.h +++ b/Kernel_23/include/CGAL/Exact_predicates_inexact_constructions_kernel.h @@ -29,8 +29,20 @@ namespace CGAL { -typedef Filtered_kernel< Simple_cartesian > - Exact_predicates_inexact_constructions_kernel; +// The following is equivalent to Filtered_kernel< Simple_cartesian >, +// but it's shorter in terms of template name length (for error messages, mangling...). + +class Epick + : public Filtered_kernel_adaptor< + Type_equality_wrapper< Simple_cartesian::Base::Type, Epick >, +#ifdef CGAL_NO_STATIC_FILTERS + false > +#else + true > +#endif +{}; + +typedef Epick Exact_predicates_inexact_constructions_kernel; } //namespace CGAL