]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | // Boost.Geometry (aka GGL, Generic Geometry Library) |
2 | ||
3 | // Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. | |
4 | // Copyright (c) 2008-2015 Bruno Lalande, Paris, France. | |
5 | // Copyright (c) 2009-2015 Mateusz Loskot, London, UK. | |
6 | ||
20effc67 TL |
7 | // This file was modified by Oracle on 2015-2020. |
8 | // Modifications copyright (c) 2015-2020, Oracle and/or its affiliates. | |
7c673cae | 9 | |
b32b8144 | 10 | // Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle |
7c673cae | 11 | // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle |
b32b8144 | 12 | // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle |
7c673cae FG |
13 | |
14 | // Distributed under the Boost Software License, Version 1.0. | |
15 | // (See accompanying file LICENSE_1_0.txt or copy at | |
16 | // http://www.boost.org/LICENSE_1_0.txt) | |
17 | ||
18 | #ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_POINT_HPP | |
19 | #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_POINT_HPP | |
20 | ||
7c673cae FG |
21 | #include <boost/geometry/core/tags.hpp> |
22 | ||
7c673cae FG |
23 | #include <boost/geometry/algorithms/dispatch/envelope.hpp> |
24 | ||
7c673cae FG |
25 | namespace boost { namespace geometry |
26 | { | |
27 | ||
28 | #ifndef DOXYGEN_NO_DETAIL | |
29 | namespace detail { namespace envelope | |
30 | { | |
31 | ||
32 | ||
92f5a8d4 | 33 | struct envelope_point |
7c673cae | 34 | { |
b32b8144 | 35 | template <typename Point, typename Box, typename Strategy> |
20effc67 | 36 | static inline void apply(Point const& point, Box& mbr, Strategy const& strategy) |
7c673cae | 37 | { |
20effc67 TL |
38 | // strategy.envelope(point, mbr).apply(point, mbr); |
39 | using strategy_t = decltype(strategy.envelope(point, mbr)); | |
40 | strategy_t::apply(point, mbr); | |
7c673cae FG |
41 | } |
42 | }; | |
43 | ||
44 | ||
45 | }} // namespace detail::envelope | |
46 | #endif // DOXYGEN_NO_DETAIL | |
47 | ||
48 | #ifndef DOXYGEN_NO_DISPATCH | |
49 | namespace dispatch | |
50 | { | |
51 | ||
52 | ||
b32b8144 | 53 | template <typename Point> |
92f5a8d4 TL |
54 | struct envelope<Point, point_tag> |
55 | : detail::envelope::envelope_point | |
7c673cae FG |
56 | {}; |
57 | ||
58 | ||
59 | } // namespace dispatch | |
60 | #endif // DOXYGEN_NO_DISPATCH | |
61 | ||
62 | }} // namespace boost::geometry | |
63 | ||
64 | #endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_POINT_HPP |