mirror of
https://github.com/boostorg/geometry.git
synced 2025-05-09 15:14:02 +00:00
chore: replace typename tag / cs_tag with tag_t / cs_tag_t
This commit is contained in:
parent
08a71cf124
commit
7d4c687fd8
@ -46,8 +46,8 @@ namespace dispatch
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2,
|
||||
typename Tag1 = typename tag<Geometry1>::type,
|
||||
typename Tag2 = typename tag<Geometry2>::type
|
||||
typename Tag1 = tag_t<Geometry1>,
|
||||
typename Tag2 = tag_t<Geometry2>
|
||||
>
|
||||
struct azimuth : not_implemented<Tag1, Tag2>
|
||||
{};
|
||||
|
@ -48,8 +48,8 @@ template
|
||||
<
|
||||
typename Geometry1,
|
||||
typename Geometry2,
|
||||
typename Tag1 = typename tag<Geometry1>::type,
|
||||
typename Tag2 = typename tag<Geometry2>::type
|
||||
typename Tag1 = tag_t<Geometry1>,
|
||||
typename Tag2 = tag_t<Geometry2>
|
||||
>
|
||||
struct crosses
|
||||
: detail::relate::relate_impl
|
||||
@ -215,8 +215,8 @@ namespace resolve_dynamic
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>
|
||||
>
|
||||
struct crosses
|
||||
{
|
||||
|
@ -170,8 +170,8 @@ template
|
||||
<
|
||||
typename Geometry,
|
||||
typename GeometryOut,
|
||||
typename Tag1 = typename tag<Geometry>::type,
|
||||
typename Tag2 = typename tag<GeometryOut>::type
|
||||
typename Tag1 = tag_t<Geometry>,
|
||||
typename Tag2 = tag_t<GeometryOut>
|
||||
>
|
||||
struct densify
|
||||
: not_implemented<Tag1, Tag2>
|
||||
@ -360,7 +360,7 @@ struct densify<default_strategy, false>
|
||||
|
||||
namespace resolve_dynamic {
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct densify
|
||||
{
|
||||
template <typename Distance, typename Strategy>
|
||||
|
@ -873,10 +873,7 @@ struct buffer_inserter<multi_tag, Multi, PolygonOutput>
|
||||
PolygonOutput,
|
||||
dispatch::buffer_inserter
|
||||
<
|
||||
typename single_tag_of
|
||||
<
|
||||
typename tag<Multi>::type
|
||||
>::type,
|
||||
typename single_tag_of<tag_t<Multi>>::type,
|
||||
typename boost::range_value<Multi const>::type,
|
||||
typename geometry::ring_type<PolygonOutput>::type
|
||||
>
|
||||
|
@ -447,7 +447,7 @@ struct buffered_piece_collection
|
||||
// Check if turns are inside pieces
|
||||
turn_in_piece_visitor
|
||||
<
|
||||
typename geometry::cs_tag<point_type>::type,
|
||||
geometry::cs_tag_t<point_type>,
|
||||
turn_vector_type, piece_vector_type, DistanceStrategy, Strategy
|
||||
> visitor(m_turns, m_pieces, m_distance_strategy, m_strategy);
|
||||
|
||||
|
@ -108,7 +108,7 @@ namespace traits
|
||||
template <typename Ring>
|
||||
struct tag<geometry::detail::buffer::buffered_ring<Ring> >
|
||||
{
|
||||
typedef ring_tag type;
|
||||
using type = ring_tag;
|
||||
};
|
||||
|
||||
|
||||
@ -177,7 +177,7 @@ struct point_order<detail::buffer::buffered_ring_collection_tag,
|
||||
template <>
|
||||
struct single_tag_of<detail::buffer::buffered_ring_collection_tag>
|
||||
{
|
||||
typedef ring_tag type;
|
||||
using type = ring_tag;
|
||||
};
|
||||
|
||||
|
||||
|
@ -38,8 +38,8 @@ template
|
||||
<
|
||||
typename Input,
|
||||
typename Output,
|
||||
typename TagIn = typename tag<Input>::type,
|
||||
typename TagOut = typename tag<Output>::type
|
||||
typename TagIn = tag_t<Input>,
|
||||
typename TagOut = tag_t<Output>
|
||||
>
|
||||
struct buffer_dc : not_implemented<TagIn, TagOut>
|
||||
{};
|
||||
@ -48,8 +48,8 @@ template
|
||||
<
|
||||
typename Input,
|
||||
typename Output,
|
||||
typename TagIn = typename tag<Input>::type,
|
||||
typename TagOut = typename tag<Output>::type
|
||||
typename TagIn = tag_t<Input>,
|
||||
typename TagOut = tag_t<Output>
|
||||
>
|
||||
struct buffer_all : not_implemented<TagIn, TagOut>
|
||||
{};
|
||||
@ -64,7 +64,7 @@ namespace resolve_dynamic
|
||||
template
|
||||
<
|
||||
typename Input,
|
||||
typename TagIn = typename geometry::tag<Input>::type
|
||||
typename TagIn = geometry::tag_t<Input>
|
||||
>
|
||||
struct buffer_dc
|
||||
{
|
||||
@ -101,7 +101,7 @@ struct buffer_dc<Input, dynamic_geometry_tag>
|
||||
template
|
||||
<
|
||||
typename Input,
|
||||
typename TagIn = typename geometry::tag<Input>::type
|
||||
typename TagIn = geometry::tag_t<Input>
|
||||
>
|
||||
struct buffer_all
|
||||
{
|
||||
|
@ -345,10 +345,10 @@ inline geometry::order_selector calculate_point_order(Ring const& ring, Strategy
|
||||
template <typename Ring>
|
||||
inline geometry::order_selector calculate_point_order(Ring const& ring)
|
||||
{
|
||||
typedef typename strategy::point_order::services::default_strategy
|
||||
using strategy_type = typename strategy::point_order::services::default_strategy
|
||||
<
|
||||
typename geometry::cs_tag<Ring>::type
|
||||
>::type strategy_type;
|
||||
geometry::cs_tag_t<Ring>
|
||||
>::type;
|
||||
|
||||
concepts::check<Ring const>();
|
||||
|
||||
|
@ -253,7 +253,7 @@ template
|
||||
typename MultiGeometry,
|
||||
bool CheckCoveredBy = std::is_same
|
||||
<
|
||||
typename tag<MultiGeometry>::type, multi_polygon_tag
|
||||
tag_t<MultiGeometry>, multi_polygon_tag
|
||||
>::value
|
||||
>
|
||||
class point_to_multigeometry
|
||||
@ -429,7 +429,7 @@ struct closest_points
|
||||
> : closest_points
|
||||
<
|
||||
Point, Linear,
|
||||
point_tag, typename tag<Linear>::type, false
|
||||
point_tag, tag_t<Linear>, false
|
||||
>
|
||||
{};
|
||||
|
||||
@ -441,7 +441,7 @@ struct closest_points
|
||||
> : closest_points
|
||||
<
|
||||
Point, Areal,
|
||||
point_tag, typename tag<Areal>::type, false
|
||||
point_tag, tag_t<Areal>, false
|
||||
>
|
||||
{};
|
||||
|
||||
|
@ -124,8 +124,8 @@ namespace resolve_dynamic
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>
|
||||
>
|
||||
struct comparable_distance
|
||||
{
|
||||
|
@ -128,7 +128,7 @@ private:
|
||||
|
||||
// TODO: Or just implement point_type<> for GeometryCollection
|
||||
// and enforce the same point_type used in the whole sequence in check().
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct default_strategy
|
||||
{
|
||||
using type = typename strategies::convex_hull::services::default_strategy
|
||||
@ -201,7 +201,7 @@ namespace dispatch
|
||||
template
|
||||
<
|
||||
typename Geometry,
|
||||
typename Tag = typename tag<Geometry>::type
|
||||
typename Tag = tag_t<Geometry>
|
||||
>
|
||||
struct convex_hull
|
||||
{
|
||||
@ -304,7 +304,7 @@ private:
|
||||
};
|
||||
|
||||
|
||||
template <typename OutputGeometry, typename Tag = typename tag<OutputGeometry>::type>
|
||||
template <typename OutputGeometry, typename Tag = tag_t<OutputGeometry>>
|
||||
struct convex_hull_out
|
||||
{
|
||||
BOOST_GEOMETRY_STATIC_ASSERT_FALSE("This OutputGeometry is not supported.", OutputGeometry, Tag);
|
||||
@ -531,7 +531,7 @@ struct convex_hull<default_strategy>
|
||||
|
||||
namespace resolve_dynamic {
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct convex_hull
|
||||
{
|
||||
template <typename OutputGeometry, typename Strategy>
|
||||
|
@ -38,8 +38,8 @@ template
|
||||
<
|
||||
typename Geometry1,
|
||||
typename Geometry2,
|
||||
typename Tag1 = typename tag<Geometry1>::type,
|
||||
typename Tag2 = typename tag<Geometry2>::type
|
||||
typename Tag1 = tag_t<Geometry1>,
|
||||
typename Tag2 = tag_t<Geometry2>
|
||||
>
|
||||
struct covered_by
|
||||
: not_implemented<Tag1, Tag2>
|
||||
@ -122,8 +122,8 @@ namespace resolve_dynamic {
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>
|
||||
>
|
||||
struct covered_by
|
||||
{
|
||||
|
@ -249,7 +249,7 @@ struct direction_code_impl<spherical_tag>
|
||||
<
|
||||
std::is_same
|
||||
<
|
||||
typename geometry::cs_tag<PointSegmentA>::type,
|
||||
geometry::cs_tag_t<PointSegmentA>,
|
||||
spherical_polar_tag
|
||||
>::value,
|
||||
spherical_polar_tag,
|
||||
|
@ -130,7 +130,7 @@ template
|
||||
<
|
||||
typename Segment,
|
||||
typename Areal,
|
||||
typename Tag = typename tag<Areal>::type
|
||||
typename Tag = tag_t<Areal>
|
||||
>
|
||||
struct disjoint_segment_areal
|
||||
: not_implemented<Segment, Areal>
|
||||
|
@ -111,8 +111,8 @@ struct disjoint_linear
|
||||
disjoint_interrupt_policy interrupt_policy;
|
||||
dispatch::get_turns
|
||||
<
|
||||
typename geometry::tag<Geometry1>::type,
|
||||
typename geometry::tag<Geometry2>::type,
|
||||
geometry::tag_t<Geometry1>,
|
||||
geometry::tag_t<Geometry2>,
|
||||
Geometry1,
|
||||
Geometry2,
|
||||
overlay::do_reverse<geometry::point_order<Geometry1>::value>::value, // should be false
|
||||
|
@ -45,7 +45,7 @@ namespace detail { namespace disjoint
|
||||
template
|
||||
<
|
||||
typename SegmentOrBox,
|
||||
typename Tag = typename tag<SegmentOrBox>::type
|
||||
typename Tag = tag_t<SegmentOrBox>
|
||||
>
|
||||
struct disjoint_point_segment_or_box
|
||||
: not_implemented<Tag>
|
||||
@ -135,7 +135,7 @@ template
|
||||
<
|
||||
typename Linear,
|
||||
typename SegmentOrBox,
|
||||
typename Tag = typename tag<Linear>::type
|
||||
typename Tag = tag_t<Linear>
|
||||
>
|
||||
struct disjoint_linear_segment_or_box
|
||||
: not_implemented<Linear, SegmentOrBox>
|
||||
|
@ -461,7 +461,7 @@ public:
|
||||
};
|
||||
|
||||
|
||||
template <typename MultiPoint, typename Areal, typename Tag = typename tag<Areal>::type>
|
||||
template <typename MultiPoint, typename Areal, typename Tag = tag_t<Areal>>
|
||||
struct multipoint_areal
|
||||
: multi_point_single_geometry<MultiPoint, Areal>
|
||||
{};
|
||||
|
@ -51,7 +51,7 @@ namespace detail { namespace distance
|
||||
template
|
||||
<
|
||||
typename SegmentOrBox,
|
||||
typename Tag = typename tag<SegmentOrBox>::type
|
||||
typename Tag = tag_t<SegmentOrBox>
|
||||
>
|
||||
struct segment_or_box_point_range_closure
|
||||
: not_implemented<SegmentOrBox>
|
||||
@ -76,7 +76,7 @@ template
|
||||
typename Geometry,
|
||||
typename SegmentOrBox,
|
||||
typename Strategies,
|
||||
typename Tag = typename tag<Geometry>::type
|
||||
typename Tag = tag_t<Geometry>
|
||||
>
|
||||
class geometry_to_segment_or_box
|
||||
{
|
||||
@ -97,7 +97,7 @@ private:
|
||||
template
|
||||
<
|
||||
typename SegOrBox,
|
||||
typename SegOrBoxTag = typename tag<SegOrBox>::type
|
||||
typename SegOrBoxTag = tag_t<SegOrBox>
|
||||
>
|
||||
struct assign_new_min_iterator
|
||||
: not_implemented<SegOrBox>
|
||||
@ -128,7 +128,7 @@ private:
|
||||
<
|
||||
typename SegOrBox,
|
||||
typename PointRange,
|
||||
typename SegOrBoxTag = typename tag<SegOrBox>::type
|
||||
typename SegOrBoxTag = tag_t<SegOrBox>
|
||||
>
|
||||
struct assign_segment_or_box_points
|
||||
{};
|
||||
|
@ -187,8 +187,8 @@ namespace resolve_dynamic
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>
|
||||
>
|
||||
struct distance
|
||||
{
|
||||
|
@ -27,7 +27,7 @@ namespace detail { namespace distance
|
||||
|
||||
|
||||
// class to choose between point_iterator and segment_iterator
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct iterator_selector
|
||||
{
|
||||
typedef geometry::segment_iterator<Geometry> iterator_type;
|
||||
|
@ -315,10 +315,7 @@ template
|
||||
typename Point,
|
||||
typename MultiGeometry,
|
||||
typename Strategies,
|
||||
bool CheckCoveredBy = std::is_same
|
||||
<
|
||||
typename tag<MultiGeometry>::type, multi_polygon_tag
|
||||
>::value
|
||||
bool CheckCoveredBy = std::is_same<tag_t<MultiGeometry>, multi_polygon_tag>::value
|
||||
>
|
||||
class point_to_multigeometry
|
||||
{
|
||||
@ -509,7 +506,7 @@ struct distance
|
||||
> : distance
|
||||
<
|
||||
Point, Linear, Strategy,
|
||||
point_tag, typename tag<Linear>::type,
|
||||
point_tag, tag_t<Linear>,
|
||||
strategy_tag_distance_point_segment, false
|
||||
>
|
||||
{};
|
||||
@ -523,7 +520,7 @@ struct distance
|
||||
> : distance
|
||||
<
|
||||
Point, Areal, Strategy,
|
||||
point_tag, typename tag<Areal>::type,
|
||||
point_tag, tag_t<Areal>,
|
||||
strategy_tag_distance_point_segment, false
|
||||
>
|
||||
{};
|
||||
|
@ -39,15 +39,15 @@ struct dummy_multi_polygon {};
|
||||
namespace traits
|
||||
{
|
||||
|
||||
template <> struct tag<geometry::detail::dummy_point> { typedef point_tag type; };
|
||||
template <> struct tag<geometry::detail::dummy_segment> { typedef segment_tag type; };
|
||||
template <> struct tag<geometry::detail::dummy_box> { typedef box_tag type; };
|
||||
template <> struct tag<geometry::detail::dummy_linestring> { typedef linestring_tag type; };
|
||||
template <> struct tag<geometry::detail::dummy_ring> { typedef ring_tag type; };
|
||||
template <> struct tag<geometry::detail::dummy_polygon> { typedef polygon_tag type; };
|
||||
template <> struct tag<geometry::detail::dummy_multi_point> { typedef multi_point_tag type; };
|
||||
template <> struct tag<geometry::detail::dummy_multi_linestring> { typedef multi_linestring_tag type; };
|
||||
template <> struct tag<geometry::detail::dummy_multi_polygon> { typedef multi_polygon_tag type; };
|
||||
template <> struct tag<geometry::detail::dummy_point> { using type = point_tag; };
|
||||
template <> struct tag<geometry::detail::dummy_segment> { using type = segment_tag; };
|
||||
template <> struct tag<geometry::detail::dummy_box> { using type = box_tag; };
|
||||
template <> struct tag<geometry::detail::dummy_linestring> { using type = linestring_tag; };
|
||||
template <> struct tag<geometry::detail::dummy_ring> { using type = ring_tag; };
|
||||
template <> struct tag<geometry::detail::dummy_polygon> { using type = polygon_tag; };
|
||||
template <> struct tag<geometry::detail::dummy_multi_point> { using type = multi_point_tag; };
|
||||
template <> struct tag<geometry::detail::dummy_multi_linestring> { using type = multi_linestring_tag; };
|
||||
template <> struct tag<geometry::detail::dummy_multi_polygon> { using type = multi_polygon_tag; };
|
||||
|
||||
} // namespace traits
|
||||
|
||||
|
@ -100,7 +100,7 @@ struct envelope<default_strategy, false>
|
||||
namespace resolve_dynamic
|
||||
{
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct envelope
|
||||
{
|
||||
template <typename Box, typename Strategy>
|
||||
|
@ -37,8 +37,8 @@ template
|
||||
<
|
||||
typename GeometryIn,
|
||||
typename GeometryOut,
|
||||
typename TagIn = typename tag<GeometryIn>::type,
|
||||
typename TagOut = typename tag<GeometryOut>::type
|
||||
typename TagIn = tag_t<GeometryIn>,
|
||||
typename TagOut = tag_t<GeometryOut>
|
||||
>
|
||||
struct transform_units_impl
|
||||
: not_implemented<TagIn, TagOut>
|
||||
|
@ -504,7 +504,7 @@ inline void collect_vectors(Collection& collection, Geometry const& geometry)
|
||||
|
||||
dispatch::collect_vectors
|
||||
<
|
||||
typename tag<Geometry>::type,
|
||||
tag_t<Geometry>,
|
||||
Collection,
|
||||
Geometry
|
||||
>::apply(collection, geometry);
|
||||
|
@ -159,8 +159,8 @@ namespace resolve_dynamic {
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>
|
||||
>
|
||||
struct equals
|
||||
{
|
||||
|
@ -101,7 +101,7 @@ struct expand<default_strategy, false>
|
||||
namespace resolve_dynamic
|
||||
{
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct expand
|
||||
{
|
||||
template <typename Box, typename Strategy>
|
||||
|
@ -393,7 +393,7 @@ template
|
||||
<
|
||||
typename Geometry,
|
||||
std::size_t Dimension,
|
||||
typename GeometryTag = typename tag<Geometry>::type
|
||||
typename GeometryTag = tag_t<Geometry>
|
||||
>
|
||||
struct extreme_points
|
||||
{};
|
||||
|
@ -133,7 +133,7 @@ namespace dispatch
|
||||
template
|
||||
<
|
||||
typename Geometry,
|
||||
typename Tag = typename tag<Geometry>::type
|
||||
typename Tag = tag_t<Geometry>
|
||||
>
|
||||
struct for_each_range
|
||||
{
|
||||
|
@ -44,8 +44,8 @@ struct gc_can_convert_element
|
||||
template <typename G>
|
||||
using has_same_tag_as_single = std::is_same
|
||||
<
|
||||
typename geometry::tag<G>::type,
|
||||
typename geometry::tag<typename boost::range_value<Multi>::type>::type
|
||||
geometry::tag_t<G>,
|
||||
geometry::tag_t<typename boost::range_value<Multi>::type>
|
||||
>;
|
||||
using gc_types = typename traits::geometry_types<GC>::type;
|
||||
using found_type = typename util::sequence_find_if<gc_types, has_same_tag_as_single>::type;
|
||||
|
@ -37,8 +37,8 @@ namespace dispatch
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type,
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>,
|
||||
bool Reverse = reverse_dispatch<Geometry1, Geometry2>::type::value
|
||||
>
|
||||
struct intersection
|
||||
@ -109,9 +109,9 @@ namespace resolve_collection
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2, typename GeometryOut,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type,
|
||||
typename TagOut = typename geometry::tag<GeometryOut>::type
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>,
|
||||
typename TagOut = geometry::tag_t<GeometryOut>
|
||||
>
|
||||
struct intersection
|
||||
{
|
||||
@ -216,8 +216,8 @@ namespace resolve_dynamic
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>
|
||||
>
|
||||
struct intersection
|
||||
{
|
||||
|
@ -43,7 +43,7 @@ namespace detail { namespace is_simple
|
||||
|
||||
|
||||
#ifdef BOOST_GEOMETRY_TEST_DEBUG
|
||||
template <typename Linear, typename Tag = typename tag<Linear>::type>
|
||||
template <typename Linear, typename Tag = tag_t<Linear>>
|
||||
struct debug_boundary_points_printer
|
||||
: not_implemented<Linear>
|
||||
{};
|
||||
|
@ -80,7 +80,7 @@ template
|
||||
<
|
||||
typename Geometry,
|
||||
typename Strategy,
|
||||
typename Tag = typename tag<Geometry>::type
|
||||
typename Tag = tag_t<Geometry>
|
||||
>
|
||||
class is_acceptable_turn
|
||||
: not_implemented<Geometry>
|
||||
|
@ -24,7 +24,7 @@ namespace boost { namespace geometry
|
||||
namespace detail { namespace is_valid
|
||||
{
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct debug_validity_phase
|
||||
{
|
||||
static inline void apply(int)
|
||||
|
@ -106,7 +106,7 @@ struct range_has_invalid_coordinate
|
||||
template
|
||||
<
|
||||
typename Geometry,
|
||||
typename Tag = typename tag<Geometry>::type,
|
||||
typename Tag = tag_t<Geometry>,
|
||||
bool HasFloatingPointCoordinates = std::is_floating_point
|
||||
<
|
||||
coordinate_type_t<Geometry>
|
||||
|
@ -92,7 +92,7 @@ struct is_valid<default_strategy, false>
|
||||
namespace resolve_dynamic
|
||||
{
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct is_valid
|
||||
{
|
||||
template <typename VisitPolicy, typename Strategy>
|
||||
|
@ -33,7 +33,7 @@ template
|
||||
<
|
||||
typename Geometry,
|
||||
order_selector Order = geometry::point_order<Geometry>::value,
|
||||
typename Tag = typename tag<Geometry>::type
|
||||
typename Tag = tag_t<Geometry>
|
||||
>
|
||||
struct acceptable_operation
|
||||
{};
|
||||
@ -69,7 +69,7 @@ struct acceptable_operation<MultiPolygon, clockwise, multi_polygon_tag>
|
||||
|
||||
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct is_acceptable_turn
|
||||
{};
|
||||
|
||||
|
@ -453,10 +453,10 @@ public:
|
||||
else // else prevents unreachable code warning
|
||||
{
|
||||
// compute turns and check if all are acceptable
|
||||
typedef debug_validity_phase<Polygon> debug_phase;
|
||||
using debug_phase = debug_validity_phase<Polygon>;
|
||||
debug_phase::apply(3);
|
||||
|
||||
typedef has_valid_self_turns<Polygon, typename Strategy::cs_tag> has_valid_turns;
|
||||
using has_valid_turns = has_valid_self_turns<Polygon, typename Strategy::cs_tag>;
|
||||
|
||||
std::deque<typename has_valid_turns::turn_type> turns;
|
||||
bool has_invalid_turns
|
||||
|
@ -46,8 +46,8 @@ template
|
||||
<
|
||||
typename Geometry1,
|
||||
typename Geometry2,
|
||||
typename Tag1 = typename tag<Geometry1>::type,
|
||||
typename Tag2 = typename tag<Geometry2>::type
|
||||
typename Tag1 = tag_t<Geometry1>,
|
||||
typename Tag2 = tag_t<Geometry2>
|
||||
>
|
||||
struct overlaps
|
||||
: detail::relate::relate_impl
|
||||
@ -131,8 +131,8 @@ namespace resolve_dynamic
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>
|
||||
>
|
||||
struct overlaps
|
||||
{
|
||||
|
@ -48,9 +48,9 @@ inline void convert_and_add(GeometryOut& result,
|
||||
ring_identifier id,
|
||||
bool reversed, bool append)
|
||||
{
|
||||
typedef typename geometry::tag<Geometry1>::type tag1;
|
||||
typedef typename geometry::tag<Geometry2>::type tag2;
|
||||
typedef typename geometry::tag<GeometryOut>::type tag_out;
|
||||
using tag1 = geometry::tag_t<Geometry1>;
|
||||
using tag2 = geometry::tag_t<Geometry2>;
|
||||
using tag_out = geometry::tag_t<GeometryOut>;
|
||||
|
||||
if (id.source_index == 0)
|
||||
{
|
||||
|
@ -57,8 +57,8 @@ static inline bool within_selected_input(Item const& item2,
|
||||
RingCollection const& collection,
|
||||
Strategy const& strategy)
|
||||
{
|
||||
typedef typename geometry::tag<Geometry1>::type tag1;
|
||||
typedef typename geometry::tag<Geometry2>::type tag2;
|
||||
using tag1 = geometry::tag_t<Geometry1>;
|
||||
using tag2 = geometry::tag_t<Geometry2>;
|
||||
|
||||
// NOTE: range_in_geometry first checks the item2.point and then
|
||||
// if this point is on boundary it checks points of inner_geometry
|
||||
@ -92,8 +92,8 @@ static inline bool within_selected_input(Item const& item2,
|
||||
RingCollection const& collection,
|
||||
Strategy const& strategy)
|
||||
{
|
||||
typedef typename geometry::tag<Geometry1>::type tag1;
|
||||
typedef typename geometry::tag<Geometry2>::type tag2;
|
||||
using tag1 = geometry::tag_t<Geometry1>;
|
||||
using tag2 = geometry::tag_t<Geometry2>;
|
||||
|
||||
switch (inner_id.source_index)
|
||||
{
|
||||
@ -254,16 +254,16 @@ inline void assign_parents(Geometry1 const& geometry1,
|
||||
static bool const is_dissolve = OverlayType == overlay_dissolve;
|
||||
static bool const check_for_orientation = is_buffer || is_dissolve;
|
||||
|
||||
typedef typename geometry::tag<Geometry1>::type tag1;
|
||||
typedef typename geometry::tag<Geometry2>::type tag2;
|
||||
using tag1 = geometry::tag_t<Geometry1>;
|
||||
using tag2 = geometry::tag_t<Geometry2>;
|
||||
|
||||
typedef typename RingMap::mapped_type ring_info_type;
|
||||
typedef typename ring_info_type::point_type point_type;
|
||||
typedef model::box<point_type> box_type;
|
||||
typedef typename geometry::area_result
|
||||
using ring_info_type = typename RingMap::mapped_type;
|
||||
using point_type = typename ring_info_type::point_type;
|
||||
using box_type = model::box<point_type>;
|
||||
using area_result_type = typename geometry::area_result
|
||||
<
|
||||
point_type, Strategy // TODO: point_type is technically incorrect
|
||||
>::type area_result_type;
|
||||
>::type;
|
||||
|
||||
{
|
||||
std::size_t count_total = ring_map.size();
|
||||
|
@ -26,7 +26,7 @@ template
|
||||
<
|
||||
typename Point,
|
||||
typename CoordinateType = geometry::coordinate_type_t<Point>,
|
||||
typename CsTag = typename geometry::cs_tag<Point>::type,
|
||||
typename CsTag = geometry::cs_tag_t<Point>,
|
||||
bool IsIntegral = std::is_integral<CoordinateType>::value
|
||||
>
|
||||
struct cluster_colocator
|
||||
|
@ -288,7 +288,7 @@ inline bool copy_segment_point(Geometry const& geometry,
|
||||
|
||||
return dispatch::copy_segment_point
|
||||
<
|
||||
typename tag<Geometry>::type,
|
||||
tag_t<Geometry>,
|
||||
Geometry,
|
||||
Reverse,
|
||||
SegmentIdentifier,
|
||||
@ -322,7 +322,7 @@ inline bool copy_segment_point(Geometry1 const& geometry1, Geometry2 const& geom
|
||||
{
|
||||
return dispatch::copy_segment_point
|
||||
<
|
||||
typename tag<Geometry1>::type,
|
||||
tag_t<Geometry1>,
|
||||
Geometry1,
|
||||
Reverse1,
|
||||
SegmentIdentifier,
|
||||
@ -333,7 +333,7 @@ inline bool copy_segment_point(Geometry1 const& geometry1, Geometry2 const& geom
|
||||
{
|
||||
return dispatch::copy_segment_point
|
||||
<
|
||||
typename tag<Geometry2>::type,
|
||||
tag_t<Geometry2>,
|
||||
Geometry2,
|
||||
Reverse2,
|
||||
SegmentIdentifier,
|
||||
|
@ -349,7 +349,7 @@ inline void copy_segments(Geometry const& geometry,
|
||||
|
||||
dispatch::copy_segments
|
||||
<
|
||||
typename tag<Geometry>::type,
|
||||
tag_t<Geometry>,
|
||||
Reverse
|
||||
>::apply(geometry, seg_id, to_index, strategy, range_out);
|
||||
}
|
||||
|
@ -164,7 +164,7 @@ inline bool is_touching(Turn const& turn, Operation const& op,
|
||||
template
|
||||
<
|
||||
typename GeometryOut,
|
||||
typename Tag = typename geometry::tag<GeometryOut>::type
|
||||
typename Tag = geometry::tag_t<GeometryOut>
|
||||
>
|
||||
struct add_isolated_point
|
||||
{};
|
||||
|
@ -499,7 +499,7 @@ template
|
||||
overlay_type OverlayType,
|
||||
bool FollowIsolatedPoints,
|
||||
bool FollowContinueTurns,
|
||||
typename TagIn1 = typename tag<Geometry1>::type
|
||||
typename TagIn1 = tag_t<Geometry1>
|
||||
>
|
||||
struct follow
|
||||
: not_implemented<Geometry1>
|
||||
|
@ -110,16 +110,16 @@ inline void get_intersection_points(Geometry1 const& geometry1,
|
||||
reverse_dispatch<Geometry1, Geometry2>::type::value,
|
||||
dispatch::get_turns_reversed
|
||||
<
|
||||
typename tag<Geometry1>::type,
|
||||
typename tag<Geometry2>::type,
|
||||
tag_t<Geometry1>,
|
||||
tag_t<Geometry2>,
|
||||
Geometry1, Geometry2,
|
||||
false, false,
|
||||
TurnPolicy
|
||||
>,
|
||||
dispatch::get_turns
|
||||
<
|
||||
typename tag<Geometry1>::type,
|
||||
typename tag<Geometry2>::type,
|
||||
tag_t<Geometry1>,
|
||||
tag_t<Geometry2>,
|
||||
Geometry1, Geometry2,
|
||||
false, false,
|
||||
TurnPolicy
|
||||
|
@ -122,7 +122,7 @@ template <typename Geometry>
|
||||
inline signed_size_type segment_count_on_ring(Geometry const& geometry,
|
||||
ring_identifier const& ring_id)
|
||||
{
|
||||
using tag = typename geometry::tag<Geometry>::type;
|
||||
using tag = geometry::tag_t<Geometry>;
|
||||
|
||||
// A closed polygon, a triangle of 4 points, including starting point,
|
||||
// contains 3 segments. So handle as if it is closed, and subtract one.
|
||||
|
@ -167,18 +167,18 @@ class intersection_info
|
||||
: public intersection_info_base<UniqueSubRange1, UniqueSubRange2,
|
||||
TurnPoint, UmbrellaStrategy>
|
||||
{
|
||||
typedef intersection_info_base<UniqueSubRange1, UniqueSubRange2,
|
||||
TurnPoint, UmbrellaStrategy> base;
|
||||
using base = intersection_info_base<UniqueSubRange1, UniqueSubRange2,
|
||||
TurnPoint, UmbrellaStrategy>;
|
||||
|
||||
public:
|
||||
|
||||
typedef typename UmbrellaStrategy::cs_tag cs_tag;
|
||||
using cs_tag = typename UmbrellaStrategy::cs_tag;
|
||||
|
||||
typedef typename base::side_calculator_type side_calculator_type;
|
||||
typedef typename base::result_type result_type;
|
||||
using side_calculator_type = typename base::side_calculator_type;
|
||||
using result_type = typename base::result_type;
|
||||
|
||||
typedef typename result_type::intersection_points_type i_info_type;
|
||||
typedef typename result_type::direction_type d_info_type;
|
||||
using i_info_type = typename result_type::intersection_points_type;
|
||||
using d_info_type = typename result_type::direction_type;
|
||||
|
||||
intersection_info(UniqueSubRange1 const& range_p,
|
||||
UniqueSubRange2 const& range_q,
|
||||
|
@ -815,9 +815,15 @@ struct topological_tag_base
|
||||
using type = tag_cast_t<tag_t<Geometry>, pointlike_tag, linear_tag, areal_tag>;
|
||||
};
|
||||
|
||||
template <typename Geometry1, typename Geometry2, typename AssignPolicy,
|
||||
typename Tag1 = typename tag<Geometry1>::type, typename Tag2 = typename tag<Geometry2>::type,
|
||||
typename TagBase1 = typename topological_tag_base<Geometry1>::type, typename TagBase2 = typename topological_tag_base<Geometry2>::type>
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2,
|
||||
typename AssignPolicy,
|
||||
typename Tag1 = tag_t<Geometry1>,
|
||||
typename Tag2 = tag_t<Geometry2>,
|
||||
typename TagBase1 = typename topological_tag_base<Geometry1>::type,
|
||||
typename TagBase2 = typename topological_tag_base<Geometry2>::type
|
||||
>
|
||||
struct get_turn_info_type
|
||||
: overlay::get_turn_info<AssignPolicy>
|
||||
{};
|
||||
@ -833,8 +839,9 @@ struct get_turn_info_type<Geometry1, Geometry2, AssignPolicy, Tag1, Tag2, linear
|
||||
{};
|
||||
|
||||
template <typename Geometry1, typename Geometry2, typename Point, typename SegmentRatio,
|
||||
typename Tag1 = typename tag<Geometry1>::type, typename Tag2 = typename tag<Geometry2>::type,
|
||||
typename TagBase1 = typename topological_tag_base<Geometry1>::type, typename TagBase2 = typename topological_tag_base<Geometry2>::type>
|
||||
typename Tag1 = tag_t<Geometry1>, typename Tag2 = tag_t<Geometry2>,
|
||||
typename TagBase1 = typename topological_tag_base<Geometry1>::type,
|
||||
typename TagBase2 = typename topological_tag_base<Geometry2>::type>
|
||||
struct turn_operation_type
|
||||
{
|
||||
using type = overlay::turn_operation<Point, SegmentRatio>;
|
||||
@ -1017,16 +1024,16 @@ inline void get_turns(Geometry1 const& geometry1,
|
||||
reverse_dispatch<Geometry1, Geometry2>::type::value,
|
||||
dispatch::get_turns_reversed
|
||||
<
|
||||
typename tag<Geometry1>::type,
|
||||
typename tag<Geometry2>::type,
|
||||
tag_t<Geometry1>,
|
||||
tag_t<Geometry2>,
|
||||
Geometry1, Geometry2,
|
||||
Reverse1, Reverse2,
|
||||
TurnPolicy
|
||||
>,
|
||||
dispatch::get_turns
|
||||
<
|
||||
typename tag<Geometry1>::type,
|
||||
typename tag<Geometry2>::type,
|
||||
tag_t<Geometry1>,
|
||||
tag_t<Geometry2>,
|
||||
Geometry1, Geometry2,
|
||||
Reverse1, Reverse2,
|
||||
TurnPolicy
|
||||
|
@ -313,8 +313,8 @@ struct intersection_of_linestring_with_areal
|
||||
|
||||
dispatch::get_turns
|
||||
<
|
||||
typename geometry::tag<LineString>::type,
|
||||
typename geometry::tag<Areal>::type,
|
||||
geometry::tag_t<LineString>,
|
||||
geometry::tag_t<Areal>,
|
||||
LineString,
|
||||
Areal,
|
||||
false,
|
||||
@ -443,8 +443,8 @@ struct intersection_linear_areal_point
|
||||
|
||||
dispatch::get_turns
|
||||
<
|
||||
typename geometry::tag<Geometry1>::type,
|
||||
typename geometry::tag<Geometry2>::type,
|
||||
geometry::tag_t<Geometry1>,
|
||||
geometry::tag_t<Geometry2>,
|
||||
Geometry1,
|
||||
Geometry2,
|
||||
false,
|
||||
|
@ -252,7 +252,7 @@ public:
|
||||
LinestringOut,
|
||||
OverlayType,
|
||||
Linear1,
|
||||
typename tag<Linear1>::type
|
||||
tag_t<Linear1>
|
||||
>::apply(linear1, oit);
|
||||
}
|
||||
|
||||
@ -299,7 +299,7 @@ struct linear_linear_linestring
|
||||
LinestringOut,
|
||||
overlay_difference,
|
||||
Linear1,
|
||||
typename tag<Linear1>::type
|
||||
tag_t<Linear1>
|
||||
>::apply(linear1, oit);
|
||||
|
||||
return linear_linear_linestring
|
||||
|
@ -31,7 +31,7 @@ namespace detail { namespace overlay
|
||||
template
|
||||
<
|
||||
typename Geometry,
|
||||
typename Tag = typename tag<Geometry>::type
|
||||
typename Tag = tag_t<Geometry>
|
||||
>
|
||||
struct needs_self_turns
|
||||
{
|
||||
|
@ -53,7 +53,7 @@ template
|
||||
<
|
||||
typename PointOut,
|
||||
typename GeometryIn,
|
||||
typename TagIn = typename tag<GeometryIn>::type
|
||||
typename TagIn = tag_t<GeometryIn>
|
||||
>
|
||||
struct copy_points
|
||||
: not_implemented<PointOut, GeometryIn>
|
||||
@ -421,8 +421,8 @@ struct union_pointlike_pointlike_point
|
||||
return detail_dispatch::overlay::pointlike_pointlike_point
|
||||
<
|
||||
PointLike2, PointLike1, PointOut, overlay_difference,
|
||||
typename tag<PointLike2>::type,
|
||||
typename tag<PointLike1>::type
|
||||
tag_t<PointLike2>,
|
||||
tag_t<PointLike1>
|
||||
>::apply(pointlike2, pointlike1, oit, strategy);
|
||||
}
|
||||
|
||||
|
@ -29,7 +29,7 @@ namespace detail { namespace overlay
|
||||
template
|
||||
<
|
||||
typename Geometry,
|
||||
typename Tag = typename geometry::tag<Geometry>::type
|
||||
typename Tag = geometry::tag_t<Geometry>
|
||||
>
|
||||
struct points_range
|
||||
{
|
||||
@ -80,7 +80,7 @@ struct points_range<Box, box_tag>
|
||||
template
|
||||
<
|
||||
typename Geometry,
|
||||
typename Tag = typename geometry::tag<Geometry>::type
|
||||
typename Tag = geometry::tag_t<Geometry>
|
||||
>
|
||||
struct point_in_geometry_helper
|
||||
{
|
||||
|
@ -307,8 +307,8 @@ inline void select_rings(Geometry1 const& geometry1, Geometry2 const& geometry2,
|
||||
RingPropertyMap& selected_ring_properties,
|
||||
Strategy const& strategy)
|
||||
{
|
||||
typedef typename geometry::tag<Geometry1>::type tag1;
|
||||
typedef typename geometry::tag<Geometry2>::type tag2;
|
||||
using tag1 = geometry::tag_t<Geometry1>;
|
||||
using tag2 = geometry::tag_t<Geometry2>;
|
||||
|
||||
RingPropertyMap all_ring_properties;
|
||||
dispatch::select_rings<tag1, Geometry1>::apply(geometry1, geometry2,
|
||||
@ -336,10 +336,8 @@ inline void select_rings(Geometry const& geometry,
|
||||
RingPropertyMap& selected_ring_properties,
|
||||
Strategy const& strategy)
|
||||
{
|
||||
typedef typename geometry::tag<Geometry>::type tag;
|
||||
|
||||
RingPropertyMap all_ring_properties;
|
||||
dispatch::select_rings<tag, Geometry>::apply(geometry,
|
||||
dispatch::select_rings<geometry::tag_t<Geometry>, Geometry>::apply(geometry,
|
||||
ring_identifier(0, -1, -1), all_ring_properties,
|
||||
strategy);
|
||||
|
||||
|
@ -288,7 +288,7 @@ struct self_get_turn_points
|
||||
dispatch::self_get_turn_points
|
||||
<
|
||||
Reverse,
|
||||
typename tag<Geometry>::type,
|
||||
tag_t<Geometry>,
|
||||
Geometry,
|
||||
turn_policy
|
||||
>::apply(geometry, strategies, turns, interrupt_policy,
|
||||
|
@ -53,7 +53,7 @@ inline bool point_is_spike_or_equal(Point1 const& last_point, // prev | back
|
||||
Point3 const& segment_b, // curr | back - 1 | spike's vertex
|
||||
SideStrategy const& strategy)
|
||||
{
|
||||
typedef typename SideStrategy::cs_tag cs_tag;
|
||||
using cs_tag = typename SideStrategy::cs_tag;
|
||||
|
||||
int const side = strategy.apply(segment_a, segment_b, last_point);
|
||||
if (side == 0)
|
||||
|
@ -214,7 +214,7 @@ inline bool point_on_border(Point& point, Geometry const& geometry)
|
||||
|
||||
return dispatch::point_on_border
|
||||
<
|
||||
typename tag<Geometry>::type
|
||||
tag_t<Geometry>
|
||||
>::apply(point, geometry);
|
||||
}
|
||||
|
||||
|
@ -42,7 +42,7 @@ template
|
||||
<
|
||||
typename Geometry,
|
||||
typename Strategy,
|
||||
typename Tag = typename geometry::tag<Geometry>::type
|
||||
typename Tag = geometry::tag_t<Geometry>
|
||||
>
|
||||
class boundary_checker {};
|
||||
|
||||
|
@ -47,7 +47,7 @@ template
|
||||
<
|
||||
std::size_t OpId,
|
||||
typename Geometry,
|
||||
typename Tag = typename geometry::tag<Geometry>::type,
|
||||
typename Tag = geometry::tag_t<Geometry>,
|
||||
bool IsMulti = util::is_multi<Geometry>::value
|
||||
>
|
||||
struct for_each_disjoint_geometry_if
|
||||
|
@ -62,8 +62,8 @@ namespace dispatch {
|
||||
|
||||
template <typename Geometry1,
|
||||
typename Geometry2,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type,
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>,
|
||||
int TopDim1 = geometry::topological_dimension<Geometry1>::value,
|
||||
int TopDim2 = geometry::topological_dimension<Geometry2>::value,
|
||||
bool IsGeneric = detail::relate::is_generic<Geometry1, Geometry2>::value
|
||||
@ -231,8 +231,8 @@ namespace resolve_dynamic
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>
|
||||
>
|
||||
struct relate
|
||||
{
|
||||
|
@ -51,7 +51,7 @@ namespace detail { namespace relate
|
||||
template
|
||||
<
|
||||
typename Geometry,
|
||||
typename Tag = typename tag<Geometry>::type
|
||||
typename Tag = tag_t<Geometry>
|
||||
>
|
||||
struct multi_point_geometry_eb
|
||||
{
|
||||
|
@ -43,8 +43,8 @@ struct relate_impl_base
|
||||
>::value,
|
||||
not_implemented
|
||||
<
|
||||
typename geometry::tag<Geometry1>::type,
|
||||
typename geometry::tag<Geometry2>::type
|
||||
geometry::tag_t<Geometry1>,
|
||||
geometry::tag_t<Geometry2>
|
||||
>,
|
||||
implemented_tag
|
||||
>
|
||||
|
@ -34,7 +34,7 @@ template
|
||||
<
|
||||
typename Geometry,
|
||||
typename Strategy,
|
||||
typename Tag = typename geometry::tag<Geometry>::type
|
||||
typename Tag = geometry::tag_t<Geometry>
|
||||
>
|
||||
struct topology_check
|
||||
: not_implemented<Tag>
|
||||
|
@ -94,8 +94,8 @@ struct get_turns
|
||||
|
||||
dispatch::get_turns
|
||||
<
|
||||
typename geometry::tag<Geometry1>::type,
|
||||
typename geometry::tag<Geometry2>::type,
|
||||
geometry::tag_t<Geometry1>,
|
||||
geometry::tag_t<Geometry2>,
|
||||
Geometry1,
|
||||
Geometry2,
|
||||
reverse1,
|
||||
|
@ -41,8 +41,8 @@ namespace resolve_dynamic
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>
|
||||
>
|
||||
struct relation
|
||||
{
|
||||
|
@ -178,7 +178,7 @@ inline typename ring_return_type<Geometry const>::type
|
||||
|
||||
return dispatch::range_by_section
|
||||
<
|
||||
typename tag<Geometry>::type,
|
||||
tag_t<Geometry>,
|
||||
Geometry,
|
||||
Section
|
||||
>::apply(geometry, section);
|
||||
|
@ -872,7 +872,7 @@ inline void sectionalize(Geometry const& geometry,
|
||||
|
||||
dispatch::sectionalize
|
||||
<
|
||||
typename tag<Geometry>::type,
|
||||
tag_t<Geometry>,
|
||||
Geometry,
|
||||
Reverse,
|
||||
DimensionVector
|
||||
|
@ -25,7 +25,7 @@ namespace detail
|
||||
{
|
||||
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct first_geometry_type
|
||||
{
|
||||
using type = Geometry;
|
||||
|
@ -37,7 +37,7 @@ namespace detail_dispatch {
|
||||
template
|
||||
<
|
||||
typename Geometry,
|
||||
typename Tag = typename geometry::tag<Geometry>::type,
|
||||
typename Tag = geometry::tag_t<Geometry>,
|
||||
bool IsMulti = util::is_multi<Geometry>::value
|
||||
>
|
||||
struct sub_range : not_implemented<Tag>
|
||||
|
@ -149,8 +149,8 @@ namespace resolve_dynamic {
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>
|
||||
>
|
||||
struct touches
|
||||
{
|
||||
@ -228,7 +228,7 @@ struct touches<Geometry1, Geometry2, dynamic_geometry_tag, dynamic_geometry_tag>
|
||||
}
|
||||
};
|
||||
|
||||
template <typename Geometry, typename Tag = typename geometry::tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = geometry::tag_t<Geometry>>
|
||||
struct self_touches;
|
||||
|
||||
template <typename Geometry>
|
||||
|
@ -117,8 +117,7 @@ template <typename Tag>
|
||||
struct tupled_output_find_index_pred
|
||||
{
|
||||
template <typename T>
|
||||
struct pred
|
||||
: std::is_same<typename geometry::tag<T>::type, Tag>
|
||||
struct pred : std::is_same<geometry::tag_t<T>, Tag>
|
||||
{};
|
||||
};
|
||||
|
||||
@ -360,8 +359,7 @@ template <typename Tag>
|
||||
struct is_tag_same_as_pred
|
||||
{
|
||||
template <typename T>
|
||||
struct pred
|
||||
: std::is_same<typename geometry::tag<T>::type, Tag>
|
||||
struct pred : std::is_same<geometry::tag_t<T>, Tag>
|
||||
{};
|
||||
};
|
||||
|
||||
@ -374,7 +372,7 @@ template
|
||||
typename GeometryOut,
|
||||
typename Tag,
|
||||
typename DefaultTag,
|
||||
typename GeometryTag = typename geometry::tag<GeometryOut>::type
|
||||
typename GeometryTag = geometry::tag_t<GeometryOut>
|
||||
>
|
||||
struct output_geometry_access
|
||||
{};
|
||||
@ -474,7 +472,7 @@ struct setop_insert_output_tag
|
||||
<
|
||||
geometry::detail::is_tupled_single_output<GeometryOut>::value,
|
||||
tupled_output_tag,
|
||||
typename geometry::tag<GeometryOut>::type
|
||||
geometry::tag_t<GeometryOut>
|
||||
>
|
||||
{};
|
||||
|
||||
|
@ -30,7 +30,7 @@ namespace boost { namespace geometry
|
||||
namespace dispatch
|
||||
{
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct visit_one
|
||||
{
|
||||
template <typename F, typename G>
|
||||
@ -65,8 +65,8 @@ struct visit_one<Geometry, dynamic_geometry_tag>
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2,
|
||||
typename Tag1 = typename tag<Geometry1>::type,
|
||||
typename Tag2 = typename tag<Geometry2>::type
|
||||
typename Tag1 = tag_t<Geometry1>,
|
||||
typename Tag2 = tag_t<Geometry2>
|
||||
>
|
||||
struct visit_two
|
||||
{
|
||||
@ -144,7 +144,7 @@ struct visit_two<Geometry1, Geometry2, dynamic_geometry_tag, dynamic_geometry_ta
|
||||
};
|
||||
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct visit_breadth_first
|
||||
{
|
||||
template <typename F, typename G>
|
||||
|
@ -46,8 +46,8 @@ template
|
||||
<
|
||||
typename Geometry1,
|
||||
typename Geometry2,
|
||||
typename Tag1 = typename tag<Geometry1>::type,
|
||||
typename Tag2 = typename tag<Geometry2>::type
|
||||
typename Tag1 = tag_t<Geometry1>,
|
||||
typename Tag2 = tag_t<Geometry2>
|
||||
>
|
||||
struct within
|
||||
: not_implemented<Tag1, Tag2>
|
||||
@ -130,8 +130,8 @@ namespace resolve_dynamic
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>
|
||||
>
|
||||
struct within
|
||||
{
|
||||
|
@ -71,8 +71,7 @@ namespace detail_dispatch { namespace within {
|
||||
// returns 0 if P is on the boundry of G
|
||||
// returns -1 if P is in the exterior of G
|
||||
|
||||
template <typename Geometry,
|
||||
typename Tag = typename geometry::tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = geometry::tag_t<Geometry>>
|
||||
struct point_in_geometry
|
||||
: not_implemented<Tag>
|
||||
{};
|
||||
|
@ -332,9 +332,9 @@ namespace resolve_collection
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2, typename Collection,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type,
|
||||
typename CollectionTag = typename geometry::tag<Collection>::type
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>,
|
||||
typename CollectionTag = geometry::tag_t<Collection>
|
||||
>
|
||||
struct difference
|
||||
{
|
||||
@ -577,8 +577,8 @@ namespace resolve_dynamic
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>
|
||||
>
|
||||
struct difference
|
||||
{
|
||||
|
@ -145,8 +145,8 @@ template
|
||||
<
|
||||
typename Geometry1,
|
||||
typename Geometry2,
|
||||
typename Tag1 = typename tag<Geometry1>::type,
|
||||
typename Tag2 = typename tag<Geometry2>::type
|
||||
typename Tag1 = tag_t<Geometry1>,
|
||||
typename Tag2 = tag_t<Geometry2>
|
||||
>
|
||||
struct discrete_frechet_distance : not_implemented<Tag1, Tag2>
|
||||
{};
|
||||
|
@ -215,8 +215,8 @@ template
|
||||
<
|
||||
typename Geometry1,
|
||||
typename Geometry2,
|
||||
typename Tag1 = typename tag<Geometry1>::type,
|
||||
typename Tag2 = typename tag<Geometry2>::type
|
||||
typename Tag1 = tag_t<Geometry1>,
|
||||
typename Tag2 = tag_t<Geometry2>
|
||||
>
|
||||
struct discrete_hausdorff_distance : not_implemented<Tag1, Tag2>
|
||||
{};
|
||||
|
@ -36,7 +36,7 @@ namespace dispatch
|
||||
template
|
||||
<
|
||||
typename Geometry,
|
||||
typename Tag = typename tag<Geometry>::type
|
||||
typename Tag = tag_t<Geometry>
|
||||
>
|
||||
struct envelope : not_implemented<Tag>
|
||||
{};
|
||||
|
@ -40,8 +40,8 @@ namespace dispatch
|
||||
template
|
||||
<
|
||||
typename GeometryOut, typename Geometry,
|
||||
typename TagOut = typename tag<GeometryOut>::type,
|
||||
typename Tag = typename tag<Geometry>::type
|
||||
typename TagOut = tag_t<GeometryOut>,
|
||||
typename Tag = tag_t<Geometry>
|
||||
>
|
||||
struct expand : not_implemented<TagOut, Tag>
|
||||
{};
|
||||
|
@ -23,7 +23,7 @@ namespace dispatch
|
||||
{
|
||||
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct is_simple
|
||||
: not_implemented<Geometry>
|
||||
{};
|
||||
|
@ -26,7 +26,7 @@ namespace dispatch
|
||||
template
|
||||
<
|
||||
typename Geometry,
|
||||
typename Tag = typename tag<Geometry>::type,
|
||||
typename Tag = tag_t<Geometry>,
|
||||
// for multi-geometries: determines if empty multi-geometries are allowed
|
||||
bool AllowEmptyMultiGeometries = true
|
||||
>
|
||||
|
@ -427,7 +427,7 @@ struct for_each_point<MultiGeometry, multi_tag>
|
||||
template
|
||||
<
|
||||
typename Geometry,
|
||||
typename Tag = typename tag<Geometry>::type
|
||||
typename Tag = tag_t<Geometry>
|
||||
>
|
||||
struct for_each_segment: not_implemented<Tag>
|
||||
{};
|
||||
|
@ -154,7 +154,7 @@ namespace dispatch
|
||||
template
|
||||
<
|
||||
typename Geometry,
|
||||
typename Tag = typename tag<Geometry>::type
|
||||
typename Tag = tag_t<Geometry>
|
||||
>
|
||||
struct is_convex
|
||||
{
|
||||
@ -264,7 +264,7 @@ struct is_convex<default_strategy, false>
|
||||
|
||||
namespace resolve_dynamic {
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct is_convex
|
||||
{
|
||||
template <typename Strategy>
|
||||
|
@ -94,7 +94,7 @@ struct multi_is_empty
|
||||
namespace dispatch
|
||||
{
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct is_empty : not_implemented<Tag>
|
||||
{};
|
||||
|
||||
@ -150,7 +150,7 @@ struct is_empty<Geometry, multi_polygon_tag>
|
||||
namespace resolve_dynamic
|
||||
{
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct is_empty
|
||||
{
|
||||
static inline bool apply(Geometry const& geometry)
|
||||
|
@ -116,7 +116,7 @@ namespace dispatch
|
||||
{
|
||||
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct length : detail::calculate_null
|
||||
{
|
||||
typedef typename default_length_result<Geometry>::type return_type;
|
||||
@ -220,7 +220,7 @@ struct length<default_strategy, false>
|
||||
|
||||
namespace resolve_dynamic {
|
||||
|
||||
template <typename Geometry, typename Tag = typename geometry::tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = geometry::tag_t<Geometry>>
|
||||
struct length
|
||||
{
|
||||
template <typename Strategy>
|
||||
|
@ -187,8 +187,8 @@ template
|
||||
<
|
||||
typename Geometry,
|
||||
typename Pointlike,
|
||||
typename Tag1 = typename tag<Geometry>::type,
|
||||
typename Tag2 = typename tag<Pointlike>::type
|
||||
typename Tag1 = tag_t<Geometry>,
|
||||
typename Tag2 = tag_t<Pointlike>
|
||||
>
|
||||
struct line_interpolate
|
||||
{
|
||||
|
@ -94,7 +94,7 @@ inline Geometry make(Type const& c1, Type const& c2)
|
||||
Geometry geometry;
|
||||
dispatch::assign
|
||||
<
|
||||
typename tag<Geometry>::type,
|
||||
tag_t<Geometry>,
|
||||
Geometry,
|
||||
geometry::dimension<Geometry>::type::value
|
||||
>::apply(geometry, c1, c2);
|
||||
@ -150,7 +150,7 @@ inline Geometry make(Type const& c1, Type const& c2, Type const& c3)
|
||||
Geometry geometry;
|
||||
dispatch::assign
|
||||
<
|
||||
typename tag<Geometry>::type,
|
||||
tag_t<Geometry>,
|
||||
Geometry,
|
||||
geometry::dimension<Geometry>::type::value
|
||||
>::apply(geometry, c1, c2, c3);
|
||||
@ -181,7 +181,7 @@ inline Geometry make(Type const& c1, Type const& c2, Type const& c3, Type const&
|
||||
Geometry geometry;
|
||||
dispatch::assign
|
||||
<
|
||||
typename tag<Geometry>::type,
|
||||
tag_t<Geometry>,
|
||||
Geometry,
|
||||
geometry::dimension<Geometry>::type::value
|
||||
>::apply(geometry, c1, c2, c3, c4);
|
||||
@ -217,7 +217,7 @@ inline Geometry make_inverse()
|
||||
Geometry geometry;
|
||||
dispatch::assign_inverse
|
||||
<
|
||||
typename tag<Geometry>::type,
|
||||
tag_t<Geometry>,
|
||||
Geometry
|
||||
>::apply(geometry);
|
||||
return geometry;
|
||||
@ -238,7 +238,7 @@ inline Geometry make_zero()
|
||||
Geometry geometry;
|
||||
dispatch::assign_zero
|
||||
<
|
||||
typename tag<Geometry>::type,
|
||||
tag_t<Geometry>,
|
||||
Geometry
|
||||
>::apply(geometry);
|
||||
return geometry;
|
||||
|
@ -346,7 +346,7 @@ namespace dispatch
|
||||
{
|
||||
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct merge_elements
|
||||
: not_implemented<Geometry, Tag>
|
||||
{};
|
||||
|
@ -46,7 +46,7 @@ namespace dispatch
|
||||
{
|
||||
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct num_interior_rings
|
||||
: detail::counting::other_count<0>
|
||||
{};
|
||||
|
@ -139,7 +139,7 @@ struct num_points<Geometry, AddForOpen, multi_tag>
|
||||
namespace resolve_dynamic
|
||||
{
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct num_points
|
||||
{
|
||||
static inline std::size_t apply(Geometry const& geometry, bool add_for_open)
|
||||
|
@ -66,7 +66,7 @@ struct range_count
|
||||
namespace dispatch
|
||||
{
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct num_segments
|
||||
: not_implemented<Tag>
|
||||
{};
|
||||
@ -140,7 +140,7 @@ namespace resolve_dynamic
|
||||
{
|
||||
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct num_segments
|
||||
{
|
||||
static inline std::size_t apply(Geometry const& geometry)
|
||||
|
@ -51,7 +51,7 @@ namespace dispatch
|
||||
{
|
||||
|
||||
// Default perimeter is 0.0, specializations implement calculated values
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct perimeter : detail::calculate_null
|
||||
{
|
||||
typedef typename default_length_result<Geometry>::type return_type;
|
||||
@ -163,7 +163,7 @@ struct perimeter<default_strategy, false>
|
||||
|
||||
namespace resolve_dynamic {
|
||||
|
||||
template <typename Geometry, typename Tag = typename geometry::tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = geometry::tag_t<Geometry>>
|
||||
struct perimeter
|
||||
{
|
||||
template <typename Strategy>
|
||||
|
@ -206,7 +206,7 @@ namespace dispatch
|
||||
template
|
||||
<
|
||||
typename Geometry,
|
||||
typename Tag = typename tag<Geometry>::type
|
||||
typename Tag = tag_t<Geometry>
|
||||
>
|
||||
struct remove_spikes
|
||||
{
|
||||
|
@ -79,7 +79,7 @@ namespace dispatch
|
||||
{
|
||||
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct reverse
|
||||
{
|
||||
static inline void apply(Geometry&)
|
||||
@ -125,7 +125,7 @@ struct reverse<Geometry, multi_polygon_tag>
|
||||
namespace resolve_dynamic
|
||||
{
|
||||
|
||||
template <typename Geometry, typename Tag = typename tag<Geometry>::type>
|
||||
template <typename Geometry, typename Tag = tag_t<Geometry>>
|
||||
struct reverse
|
||||
{
|
||||
static void apply(Geometry& geometry)
|
||||
|
@ -653,11 +653,7 @@ struct has_same_tag_as
|
||||
{
|
||||
template <typename OtherGeometry>
|
||||
struct pred
|
||||
: std::is_same
|
||||
<
|
||||
typename geometry::tag<Geometry>::type,
|
||||
typename geometry::tag<OtherGeometry>::type
|
||||
>
|
||||
: std::is_same<geometry::tag_t<Geometry>, geometry::tag_t<OtherGeometry>>
|
||||
{};
|
||||
};
|
||||
|
||||
@ -689,8 +685,8 @@ template
|
||||
<
|
||||
typename GeometryIn,
|
||||
typename GeometryOut,
|
||||
typename TagIn = typename tag<GeometryIn>::type,
|
||||
typename TagOut = typename tag<GeometryOut>::type
|
||||
typename TagIn = tag_t<GeometryIn>,
|
||||
typename TagOut = tag_t<GeometryOut>
|
||||
>
|
||||
struct simplify: not_implemented<TagIn, TagOut>
|
||||
{};
|
||||
@ -751,7 +747,7 @@ struct simplify<MultiPolygonIn, MultiPolygonOut, multi_polygon_tag, multi_polygo
|
||||
template
|
||||
<
|
||||
typename Geometry,
|
||||
typename Tag = typename tag<Geometry>::type
|
||||
typename Tag = tag_t<Geometry>
|
||||
>
|
||||
struct simplify_insert: not_implemented<Tag>
|
||||
{};
|
||||
@ -826,8 +822,8 @@ struct simplify<default_strategy, false>
|
||||
default_strategy)
|
||||
{
|
||||
// NOTE: Alternatively take two geometry types in default_strategy
|
||||
using cs_tag1_t = typename geometry::cs_tag<GeometryIn>::type;
|
||||
using cs_tag2_t = typename geometry::cs_tag<GeometryOut>::type;
|
||||
using cs_tag1_t = geometry::cs_tag_t<GeometryIn>;
|
||||
using cs_tag2_t = geometry::cs_tag_t<GeometryOut>;
|
||||
BOOST_GEOMETRY_STATIC_ASSERT(
|
||||
(std::is_same<cs_tag1_t, cs_tag2_t>::value),
|
||||
"Incompatible coordinate systems",
|
||||
@ -915,8 +911,8 @@ namespace resolve_dynamic {
|
||||
template
|
||||
<
|
||||
typename GeometryIn, typename GeometryOut,
|
||||
typename TagIn = typename tag<GeometryIn>::type,
|
||||
typename TagOut = typename tag<GeometryOut>::type
|
||||
typename TagIn = tag_t<GeometryIn>,
|
||||
typename TagOut = tag_t<GeometryOut>
|
||||
>
|
||||
struct simplify
|
||||
{
|
||||
|
@ -486,9 +486,9 @@ namespace resolve_collection
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2, typename Collection,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type,
|
||||
typename CollectionTag = typename geometry::tag<Collection>::type
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>,
|
||||
typename CollectionTag = geometry::tag_t<Collection>
|
||||
>
|
||||
struct sym_difference
|
||||
{
|
||||
@ -680,8 +680,8 @@ namespace resolve_dynamic
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>
|
||||
>
|
||||
struct sym_difference
|
||||
{
|
||||
|
@ -363,9 +363,9 @@ namespace resolve_collection
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2, typename GeometryOut,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type,
|
||||
typename TagOut = typename geometry::tag<GeometryOut>::type
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>,
|
||||
typename TagOut = geometry::tag_t<GeometryOut>
|
||||
>
|
||||
struct union_
|
||||
{
|
||||
@ -720,8 +720,8 @@ namespace resolve_dynamic
|
||||
template
|
||||
<
|
||||
typename Geometry1, typename Geometry2,
|
||||
typename Tag1 = typename geometry::tag<Geometry1>::type,
|
||||
typename Tag2 = typename geometry::tag<Geometry2>::type
|
||||
typename Tag1 = geometry::tag_t<Geometry1>,
|
||||
typename Tag2 = geometry::tag_t<Geometry2>
|
||||
>
|
||||
struct union_
|
||||
{
|
||||
|
@ -102,7 +102,7 @@ namespace dispatch
|
||||
template
|
||||
<
|
||||
typename Geometry,
|
||||
typename Tag = typename tag<Geometry>::type
|
||||
typename Tag = tag_t<Geometry>
|
||||
>
|
||||
struct unique
|
||||
{
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user