Add nested typedefs as mentioned in Issue #8256

This commit is contained in:
Andreas Fabri 2024-06-12 15:30:38 +01:00
parent 4761005175
commit c8206c4b54
2 changed files with 11 additions and 0 deletions

View File

@ -63,6 +63,12 @@ struct Cartesian_filter_K : public Base_
typedef typename Store_kernel<EK_>::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> Has_filtered_predicates_tag;
// MSVC is too dumb to perform the empty base optimization.
typedef std::bool_constant<
internal::Do_not_store_kernel<Kernel_base>::value &&

View File

@ -745,6 +745,11 @@ static_assert(std::is_same<CGAL::Dimension_tag<3>,Ker3::Dimension>::value);
static_assert(std::is_same<CGAL::Dynamic_dimension_tag,Kerd::Dimension>::value);
static_assert(std::is_same<CGAL::Dimension_tag<2>,CGAL::Ambient_dimension<Ker2::Point_d>::type>::value);
static_assert(std::is_same<CGAL::Dimension_tag<3>,CGAL::Ambient_dimension<Ker3::Point_d,Ker3>::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<CGAL::Kernel_d_interface<KK> >();