// Boost.Geometry (aka GGL, Generic Geometry Library)
-// Copyright (c) 2016-2017 Oracle and/or its affiliates.
+// Copyright (c) 2016-2020 Oracle and/or its affiliates.
// Contributed and/or modified by Vissarion Fisikopoulos, on behalf of Oracle
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
#define BOOST_GEOMETRY_STRATEGIES_GEOGRAPHIC_AZIMUTH_HPP
+#include <type_traits>
+
#include <boost/geometry/srs/spheroid.hpp>
#include <boost/geometry/strategies/azimuth.hpp>
#include <boost/geometry/strategies/geographic/parameters.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_void.hpp>
-
namespace boost { namespace geometry
{
private :
- template <
+ template
+ <
bool EnableAzimuth,
bool EnableReverseAzimuth,
typename T
T const& lon2_rad, T const& lat2_rad,
T& a1, T& a2) const
{
- typedef typename boost::mpl::if_
+ typedef std::conditional_t
<
- boost::is_void<CalculationType>, T, CalculationType
- >::type calc_t;
+ std::is_void<CalculationType>::value, T, CalculationType
+ > calc_t;
typedef typename FormulaPolicy::template inverse
- <
- calc_t,
- false,
- EnableAzimuth,
- EnableReverseAzimuth,
- false,
- false
- > inverse_type;
+ <
+ calc_t,
+ false,
+ EnableAzimuth,
+ EnableReverseAzimuth,
+ false,
+ false
+ > inverse_type;
typedef typename inverse_type::result_type inverse_result;
inverse_result i_res = inverse_type::apply(calc_t(lon1_rad), calc_t(lat1_rad),
calc_t(lon2_rad), calc_t(lat2_rad),