From: Matthias Maier Date: Wed, 1 Sep 2021 22:36:42 +0000 (-0500) Subject: Boost 1.77 compatibility: change order of includes X-Git-Tag: v9.4.0-rc1~1010^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F12732%2Fhead;p=dealii.git Boost 1.77 compatibility: change order of includes Otherwise, including both header files in reverse order leads to a compilation failure: ``` In file included from /usr/include/boost/geometry/index/detail/rtree/rstar/choose_next_node.hpp:25, from /usr/include/boost/geometry/index/detail/rtree/rstar/rstar.hpp:15, from /usr/include/boost/geometry/index/rtree.hpp:80, from ../include/deal.II/numerics/rtree.h:29, from ../include/deal.II/grid/grid_tools.h:49, from ../include/deal.II/numerics/vector_tools_point_gradient.templates.h:22, from ../source/numerics/vector_tools_point_gradient.cc:17: /usr/include/boost/geometry/index/detail/algorithms/intersection_content.hpp: In function ‘bool boost::geometry::index::detail::disjoint_box_box(const Box&, const Box&, const boost::geometry::default_strategy&)’: /usr/include/boost/geometry/index/detail/algorithms/intersection_content.hpp:35:32: error: ‘boost::geometry::strategy::disjoint’ has not been declared 35 | typedef typename strategy::disjoint::services::default_strategy::type strategy_type; | ^~~~~~~~ /usr/include/boost/geometry/index/detail/algorithms/intersection_content.hpp:35:68: error: expected unqualified-id before ‘<’ token 35 | typedef typename strategy::disjoint::services::default_strategy::type strategy_type; | ^ /usr/include/boost/geometry/index/detail/algorithms/intersection_content.hpp:36:83: error: class template argument deduction failed: 36 | return geometry::detail::disjoint::disjoint_box_box(box1, box2, strategy_type()); ``` --- diff --git a/include/deal.II/numerics/rtree.h b/include/deal.II/numerics/rtree.h index 98d36fadbd..1bdc1a74fe 100644 --- a/include/deal.II/numerics/rtree.h +++ b/include/deal.II/numerics/rtree.h @@ -26,8 +26,13 @@ #include DEAL_II_DISABLE_EXTRA_DIAGNOSTICS -#include #include +/* + * For boost 1.77 compatibility we need to include strategies.hpp before we + * can include rtree.hpp. Otherwise a compilation error within boost + * headers is encountered. + */ +#include DEAL_II_ENABLE_EXTRA_DIAGNOSTICS #include