// Copyright (c) 2008-2012 Bruno Lalande, Paris, France.
// Copyright (c) 2009-2012 Mateusz Loskot, London, UK.
+// This file was modified by Oracle on 2020.
+// Modifications copyright (c) 2020 Oracle and/or its affiliates.
+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
+
// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library
// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands.
#define BOOST_GEOMETRY_CORE_POINT_TYPE_HPP
-#include <boost/mpl/assert.hpp>
#include <boost/range/value_type.hpp>
-#include <boost/type_traits/remove_const.hpp>
#include <boost/geometry/core/ring_type.hpp>
+#include <boost/geometry/core/static_assert.hpp>
#include <boost/geometry/core/tag.hpp>
#include <boost/geometry/core/tags.hpp>
-#include <boost/geometry/util/bare_type.hpp>
+#include <boost/geometry/util/type_traits_std.hpp>
+
namespace boost { namespace geometry
{
template <typename Geometry>
struct point_type
{
- BOOST_MPL_ASSERT_MSG
- (
- false, NOT_IMPLEMENTED_FOR_THIS_POINT_TYPE, (types<Geometry>)
- );
+ BOOST_GEOMETRY_STATIC_ASSERT_FALSE(
+ "Not implemented for this Geometry type.",
+ Geometry);
};
struct point_type
{
// Default: call traits to get point type
- typedef typename boost::remove_const
+ typedef typename std::remove_const
<
typename traits::point_type<Geometry>::type
>::type type;
typedef typename core_dispatch::point_type
<
typename tag<Geometry>::type,
- typename boost::geometry::util::bare_type<Geometry>::type
+ typename util::remove_cptrref<Geometry>::type
>::type type;
};