diff --git a/NewKernel_d/include/CGAL/NewKernel_d/Cartesian_filter_K.h b/NewKernel_d/include/CGAL/NewKernel_d/Cartesian_filter_K.h index ef44403f9f5..424e9e8da12 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/Cartesian_filter_K.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/Cartesian_filter_K.h @@ -63,6 +63,12 @@ struct Cartesian_filter_K : public Base_ typedef typename Store_kernel::reference_type EK_rt; EK_rt exact_kernel()const{return sek.kernel();} + + // Added to be similar to CGAL::Filtered_kernel + typedef EK Exact_kernel; + enum { Has_filtered_predicates = true }; + typedef Boolean_tag Has_filtered_predicates_tag; + // MSVC is too dumb to perform the empty base optimization. typedef std::bool_constant< internal::Do_not_store_kernel::value && diff --git a/NewKernel_d/test/NewKernel_d/Epick_d.cpp b/NewKernel_d/test/NewKernel_d/Epick_d.cpp index 5693977869a..247c31a1b24 100644 --- a/NewKernel_d/test/NewKernel_d/Epick_d.cpp +++ b/NewKernel_d/test/NewKernel_d/Epick_d.cpp @@ -745,6 +745,11 @@ static_assert(std::is_same,Ker3::Dimension>::value); static_assert(std::is_same::value); static_assert(std::is_same,CGAL::Ambient_dimension::type>::value); static_assert(std::is_same,CGAL::Ambient_dimension::type>::value); + +static_assert(Ker2::Has_filtered_predicates_tag::value); +static_assert(Ker3::Has_filtered_predicates_tag::value); +static_assert(Kerd::Has_filtered_predicates_tag::value); + int main(){ //Broken with Linear_base_d (output iterator) //test2 >();