diff --git a/AABB_tree/include/CGAL/AABB_traits.h b/AABB_tree/include/CGAL/AABB_traits.h index 8ff12dfe862..470420162a7 100644 --- a/AABB_tree/include/CGAL/AABB_traits.h +++ b/AABB_tree/include/CGAL/AABB_traits.h @@ -171,9 +171,11 @@ class AABB_tree; /// \sa `AABBPrimitiveWithSharedData` template -class AABB_traits: - public internal::AABB_tree::AABB_traits_base, +class AABB_traits +#ifndef DOXYGEN_RUNNING +: public internal::AABB_tree::AABB_traits_base, public internal::AABB_tree::AABB_traits_base_2 +#endif { typedef typename CGAL::Object Object; public: diff --git a/Installation/cmake/modules/CGAL_add_test.cmake b/Installation/cmake/modules/CGAL_add_test.cmake index ea86b4d64f1..f6f0ec7deeb 100644 --- a/Installation/cmake/modules/CGAL_add_test.cmake +++ b/Installation/cmake/modules/CGAL_add_test.cmake @@ -16,6 +16,9 @@ if(NOT POLICY CMP0064) # Add a fake function to avoid CMake errors function(cgal_add_compilation_test) endfunction() + # Add a fake function to avoid CMake errors + function(cgal_setup_test_properties) + endfunction() # Then return, to exit the file return() @@ -213,7 +216,7 @@ function(cgal_setup_test_properties test_name) PROPERTY WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/__exec_test_dir) endif() - + set_property(TEST "${test_name}" APPEND PROPERTY FIXTURES_REQUIRED "${PROJECT_NAME}") if(exe_name) diff --git a/Installation/include/CGAL/config.h b/Installation/include/CGAL/config.h index f2b3b400d34..82bd46304b6 100644 --- a/Installation/include/CGAL/config.h +++ b/Installation/include/CGAL/config.h @@ -551,7 +551,7 @@ using std::max; #define CGAL_NORETURN [[noreturn]] // Macro to specify [[no_unique_address]] if supported -#if __has_cpp_attribute(no_unique_address) +#if CGAL_CXX11 && __has_cpp_attribute(no_unique_address) # define CGAL_NO_UNIQUE_ADDRESS [[no_unique_address]] #else # define CGAL_NO_UNIQUE_ADDRESS diff --git a/Kernel_23/include/CGAL/Kernel_checker.h b/Kernel_23/include/CGAL/Kernel_checker.h index b8175d2a6d6..76a2fefae6a 100644 --- a/Kernel_23/include/CGAL/Kernel_checker.h +++ b/Kernel_23/include/CGAL/Kernel_checker.h @@ -79,6 +79,15 @@ public: : p1(pp1), p2(pp2), cmp(c) { } + template + struct result; + + template + struct result { + typedef typename Pairify::type, + typename CGAL::cpp11::result_of::type>::result_type type; + }; + template typename Pairify::type, typename CGAL::cpp11::result_of::type>::result_type @@ -104,6 +113,12 @@ public: return Pairify()(res1, res2); } + template + struct result { + typedef typename Pairify::type, + typename CGAL::cpp11::result_of::type>::result_type type; + }; + template typename Pairify::type, typename CGAL::cpp11::result_of::type>::result_type @@ -131,6 +146,12 @@ public: return Pairify()(res1, res2); } + template + struct result { + typedef typename Pairify::type, + typename CGAL::cpp11::result_of::type>::result_type type; + }; + template typename Pairify::type, @@ -162,6 +183,16 @@ public: return Pairify()(res1, res2); } + template + struct result { + typedef + typename Pairify::type, + typename CGAL::cpp11::result_of::type>::result_type + type; + }; + template typename Pairify::type, @@ -198,6 +229,16 @@ public: return Pairify()(res1, res2); } + template + struct result { + typedef + typename Pairify::type, + typename CGAL::cpp11::result_of::type>::result_type + type; + }; + template typename Pairify::type, diff --git a/Partition_2/include/CGAL/Partition_2/Triangulation_indirect_traits_2.h b/Partition_2/include/CGAL/Partition_2/Triangulation_indirect_traits_2.h index 73a832cfc4c..a3dab8db1ac 100644 --- a/Partition_2/include/CGAL/Partition_2/Triangulation_indirect_traits_2.h +++ b/Partition_2/include/CGAL/Partition_2/Triangulation_indirect_traits_2.h @@ -113,6 +113,7 @@ template class Construct_circulator_2 { public: + typedef Circulator result_type; Circulator operator()(Circulator p1) const { return p1; } }; diff --git a/Periodic_3_triangulation_3/include/CGAL/internal/Periodic_3_Delaunay_triangulation_remove_traits_3.h b/Periodic_3_triangulation_3/include/CGAL/internal/Periodic_3_Delaunay_triangulation_remove_traits_3.h index 1e856c3ade5..fa256044b3f 100644 --- a/Periodic_3_triangulation_3/include/CGAL/internal/Periodic_3_Delaunay_triangulation_remove_traits_3.h +++ b/Periodic_3_triangulation_3/include/CGAL/internal/Periodic_3_Delaunay_triangulation_remove_traits_3.h @@ -40,6 +40,14 @@ public: using Base::operator(); + template + struct result : Base::template result {}; + + template + struct result { + typedef const Point_3& type; + }; + const Point_3& operator()(const Point_3& p) const { return p; } }; diff --git a/Periodic_3_triangulation_3/include/CGAL/internal/Periodic_3_regular_triangulation_remove_traits_3.h b/Periodic_3_triangulation_3/include/CGAL/internal/Periodic_3_regular_triangulation_remove_traits_3.h index a3584d7aad1..170736ad58f 100644 --- a/Periodic_3_triangulation_3/include/CGAL/internal/Periodic_3_regular_triangulation_remove_traits_3.h +++ b/Periodic_3_triangulation_3/include/CGAL/internal/Periodic_3_regular_triangulation_remove_traits_3.h @@ -49,6 +49,14 @@ public: using Base::operator(); // for K::Weighted_point_3 to Point_3 + template + struct result : Base::template result {}; + + template + struct result { + typedef Point_3 type; + }; + Point_3 operator()(const Weighted_point_3& wp) const { return std::make_pair(operator()(wp.first), wp.second /* offset */); } diff --git a/Triangulation_3/include/CGAL/Triangulation_3.h b/Triangulation_3/include/CGAL/Triangulation_3.h index 855d31536ea..eeed38158e7 100644 --- a/Triangulation_3/include/CGAL/Triangulation_3.h +++ b/Triangulation_3/include/CGAL/Triangulation_3.h @@ -567,7 +567,7 @@ protected: public: template // Point or Point_3 - typename boost::result_of::type + typename boost::result_of::type construct_point(const P& p) const { return geom_traits().construct_point_3_object()(p);