chore: replace typename tag / cs_tag with tag_t / cs_tag_t

This commit is contained in:
Barend Gehrels 2024-10-30 15:44:17 +01:00
parent 08a71cf124
commit 7d4c687fd8
250 changed files with 589 additions and 594 deletions

View File

@ -46,8 +46,8 @@ namespace dispatch
template template
< <
typename Geometry1, typename Geometry2, typename Geometry1, typename Geometry2,
typename Tag1 = typename tag<Geometry1>::type, typename Tag1 = tag_t<Geometry1>,
typename Tag2 = typename tag<Geometry2>::type typename Tag2 = tag_t<Geometry2>
> >
struct azimuth : not_implemented<Tag1, Tag2> struct azimuth : not_implemented<Tag1, Tag2>
{}; {};

View File

@ -48,8 +48,8 @@ template
< <
typename Geometry1, typename Geometry1,
typename Geometry2, typename Geometry2,
typename Tag1 = typename tag<Geometry1>::type, typename Tag1 = tag_t<Geometry1>,
typename Tag2 = typename tag<Geometry2>::type typename Tag2 = tag_t<Geometry2>
> >
struct crosses struct crosses
: detail::relate::relate_impl : detail::relate::relate_impl
@ -215,8 +215,8 @@ namespace resolve_dynamic
template template
< <
typename Geometry1, typename Geometry2, typename Geometry1, typename Geometry2,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type typename Tag2 = geometry::tag_t<Geometry2>
> >
struct crosses struct crosses
{ {

View File

@ -170,8 +170,8 @@ template
< <
typename Geometry, typename Geometry,
typename GeometryOut, typename GeometryOut,
typename Tag1 = typename tag<Geometry>::type, typename Tag1 = tag_t<Geometry>,
typename Tag2 = typename tag<GeometryOut>::type typename Tag2 = tag_t<GeometryOut>
> >
struct densify struct densify
: not_implemented<Tag1, Tag2> : not_implemented<Tag1, Tag2>
@ -360,7 +360,7 @@ struct densify<default_strategy, false>
namespace resolve_dynamic { namespace resolve_dynamic {
template <typename Geometry, typename Tag = typename tag<Geometry>::type> template <typename Geometry, typename Tag = tag_t<Geometry>>
struct densify struct densify
{ {
template <typename Distance, typename Strategy> template <typename Distance, typename Strategy>

View File

@ -873,10 +873,7 @@ struct buffer_inserter<multi_tag, Multi, PolygonOutput>
PolygonOutput, PolygonOutput,
dispatch::buffer_inserter dispatch::buffer_inserter
< <
typename single_tag_of typename single_tag_of<tag_t<Multi>>::type,
<
typename tag<Multi>::type
>::type,
typename boost::range_value<Multi const>::type, typename boost::range_value<Multi const>::type,
typename geometry::ring_type<PolygonOutput>::type typename geometry::ring_type<PolygonOutput>::type
> >

View File

@ -447,7 +447,7 @@ struct buffered_piece_collection
// Check if turns are inside pieces // Check if turns are inside pieces
turn_in_piece_visitor 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 turn_vector_type, piece_vector_type, DistanceStrategy, Strategy
> visitor(m_turns, m_pieces, m_distance_strategy, m_strategy); > visitor(m_turns, m_pieces, m_distance_strategy, m_strategy);

View File

@ -108,7 +108,7 @@ namespace traits
template <typename Ring> template <typename Ring>
struct tag<geometry::detail::buffer::buffered_ring<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 <> template <>
struct single_tag_of<detail::buffer::buffered_ring_collection_tag> struct single_tag_of<detail::buffer::buffered_ring_collection_tag>
{ {
typedef ring_tag type; using type = ring_tag;
}; };

View File

@ -38,8 +38,8 @@ template
< <
typename Input, typename Input,
typename Output, typename Output,
typename TagIn = typename tag<Input>::type, typename TagIn = tag_t<Input>,
typename TagOut = typename tag<Output>::type typename TagOut = tag_t<Output>
> >
struct buffer_dc : not_implemented<TagIn, TagOut> struct buffer_dc : not_implemented<TagIn, TagOut>
{}; {};
@ -48,8 +48,8 @@ template
< <
typename Input, typename Input,
typename Output, typename Output,
typename TagIn = typename tag<Input>::type, typename TagIn = tag_t<Input>,
typename TagOut = typename tag<Output>::type typename TagOut = tag_t<Output>
> >
struct buffer_all : not_implemented<TagIn, TagOut> struct buffer_all : not_implemented<TagIn, TagOut>
{}; {};
@ -64,7 +64,7 @@ namespace resolve_dynamic
template template
< <
typename Input, typename Input,
typename TagIn = typename geometry::tag<Input>::type typename TagIn = geometry::tag_t<Input>
> >
struct buffer_dc struct buffer_dc
{ {
@ -101,7 +101,7 @@ struct buffer_dc<Input, dynamic_geometry_tag>
template template
< <
typename Input, typename Input,
typename TagIn = typename geometry::tag<Input>::type typename TagIn = geometry::tag_t<Input>
> >
struct buffer_all struct buffer_all
{ {

View File

@ -345,10 +345,10 @@ inline geometry::order_selector calculate_point_order(Ring const& ring, Strategy
template <typename Ring> template <typename Ring>
inline geometry::order_selector calculate_point_order(Ring const& 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 geometry::cs_tag_t<Ring>
>::type strategy_type; >::type;
concepts::check<Ring const>(); concepts::check<Ring const>();

View File

@ -253,7 +253,7 @@ template
typename MultiGeometry, typename MultiGeometry,
bool CheckCoveredBy = std::is_same bool CheckCoveredBy = std::is_same
< <
typename tag<MultiGeometry>::type, multi_polygon_tag tag_t<MultiGeometry>, multi_polygon_tag
>::value >::value
> >
class point_to_multigeometry class point_to_multigeometry
@ -429,7 +429,7 @@ struct closest_points
> : closest_points > : closest_points
< <
Point, Linear, Point, Linear,
point_tag, typename tag<Linear>::type, false point_tag, tag_t<Linear>, false
> >
{}; {};
@ -441,7 +441,7 @@ struct closest_points
> : closest_points > : closest_points
< <
Point, Areal, Point, Areal,
point_tag, typename tag<Areal>::type, false point_tag, tag_t<Areal>, false
> >
{}; {};

View File

@ -124,8 +124,8 @@ namespace resolve_dynamic
template template
< <
typename Geometry1, typename Geometry2, typename Geometry1, typename Geometry2,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type typename Tag2 = geometry::tag_t<Geometry2>
> >
struct comparable_distance struct comparable_distance
{ {

View File

@ -128,7 +128,7 @@ private:
// TODO: Or just implement point_type<> for GeometryCollection // TODO: Or just implement point_type<> for GeometryCollection
// and enforce the same point_type used in the whole sequence in check(). // 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 struct default_strategy
{ {
using type = typename strategies::convex_hull::services::default_strategy using type = typename strategies::convex_hull::services::default_strategy
@ -201,7 +201,7 @@ namespace dispatch
template template
< <
typename Geometry, typename Geometry,
typename Tag = typename tag<Geometry>::type typename Tag = tag_t<Geometry>
> >
struct convex_hull 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 struct convex_hull_out
{ {
BOOST_GEOMETRY_STATIC_ASSERT_FALSE("This OutputGeometry is not supported.", OutputGeometry, Tag); BOOST_GEOMETRY_STATIC_ASSERT_FALSE("This OutputGeometry is not supported.", OutputGeometry, Tag);
@ -531,7 +531,7 @@ struct convex_hull<default_strategy>
namespace resolve_dynamic { namespace resolve_dynamic {
template <typename Geometry, typename Tag = typename tag<Geometry>::type> template <typename Geometry, typename Tag = tag_t<Geometry>>
struct convex_hull struct convex_hull
{ {
template <typename OutputGeometry, typename Strategy> template <typename OutputGeometry, typename Strategy>

View File

@ -38,8 +38,8 @@ template
< <
typename Geometry1, typename Geometry1,
typename Geometry2, typename Geometry2,
typename Tag1 = typename tag<Geometry1>::type, typename Tag1 = tag_t<Geometry1>,
typename Tag2 = typename tag<Geometry2>::type typename Tag2 = tag_t<Geometry2>
> >
struct covered_by struct covered_by
: not_implemented<Tag1, Tag2> : not_implemented<Tag1, Tag2>
@ -122,8 +122,8 @@ namespace resolve_dynamic {
template template
< <
typename Geometry1, typename Geometry2, typename Geometry1, typename Geometry2,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type typename Tag2 = geometry::tag_t<Geometry2>
> >
struct covered_by struct covered_by
{ {

View File

@ -249,7 +249,7 @@ struct direction_code_impl<spherical_tag>
< <
std::is_same std::is_same
< <
typename geometry::cs_tag<PointSegmentA>::type, geometry::cs_tag_t<PointSegmentA>,
spherical_polar_tag spherical_polar_tag
>::value, >::value,
spherical_polar_tag, spherical_polar_tag,

View File

@ -130,7 +130,7 @@ template
< <
typename Segment, typename Segment,
typename Areal, typename Areal,
typename Tag = typename tag<Areal>::type typename Tag = tag_t<Areal>
> >
struct disjoint_segment_areal struct disjoint_segment_areal
: not_implemented<Segment, Areal> : not_implemented<Segment, Areal>

View File

@ -111,8 +111,8 @@ struct disjoint_linear
disjoint_interrupt_policy interrupt_policy; disjoint_interrupt_policy interrupt_policy;
dispatch::get_turns dispatch::get_turns
< <
typename geometry::tag<Geometry1>::type, geometry::tag_t<Geometry1>,
typename geometry::tag<Geometry2>::type, geometry::tag_t<Geometry2>,
Geometry1, Geometry1,
Geometry2, Geometry2,
overlay::do_reverse<geometry::point_order<Geometry1>::value>::value, // should be false overlay::do_reverse<geometry::point_order<Geometry1>::value>::value, // should be false

View File

@ -45,7 +45,7 @@ namespace detail { namespace disjoint
template template
< <
typename SegmentOrBox, typename SegmentOrBox,
typename Tag = typename tag<SegmentOrBox>::type typename Tag = tag_t<SegmentOrBox>
> >
struct disjoint_point_segment_or_box struct disjoint_point_segment_or_box
: not_implemented<Tag> : not_implemented<Tag>
@ -135,7 +135,7 @@ template
< <
typename Linear, typename Linear,
typename SegmentOrBox, typename SegmentOrBox,
typename Tag = typename tag<Linear>::type typename Tag = tag_t<Linear>
> >
struct disjoint_linear_segment_or_box struct disjoint_linear_segment_or_box
: not_implemented<Linear, SegmentOrBox> : not_implemented<Linear, SegmentOrBox>

View File

@ -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 struct multipoint_areal
: multi_point_single_geometry<MultiPoint, Areal> : multi_point_single_geometry<MultiPoint, Areal>
{}; {};

View File

@ -51,7 +51,7 @@ namespace detail { namespace distance
template template
< <
typename SegmentOrBox, typename SegmentOrBox,
typename Tag = typename tag<SegmentOrBox>::type typename Tag = tag_t<SegmentOrBox>
> >
struct segment_or_box_point_range_closure struct segment_or_box_point_range_closure
: not_implemented<SegmentOrBox> : not_implemented<SegmentOrBox>
@ -76,7 +76,7 @@ template
typename Geometry, typename Geometry,
typename SegmentOrBox, typename SegmentOrBox,
typename Strategies, typename Strategies,
typename Tag = typename tag<Geometry>::type typename Tag = tag_t<Geometry>
> >
class geometry_to_segment_or_box class geometry_to_segment_or_box
{ {
@ -97,7 +97,7 @@ private:
template template
< <
typename SegOrBox, typename SegOrBox,
typename SegOrBoxTag = typename tag<SegOrBox>::type typename SegOrBoxTag = tag_t<SegOrBox>
> >
struct assign_new_min_iterator struct assign_new_min_iterator
: not_implemented<SegOrBox> : not_implemented<SegOrBox>
@ -128,7 +128,7 @@ private:
< <
typename SegOrBox, typename SegOrBox,
typename PointRange, typename PointRange,
typename SegOrBoxTag = typename tag<SegOrBox>::type typename SegOrBoxTag = tag_t<SegOrBox>
> >
struct assign_segment_or_box_points struct assign_segment_or_box_points
{}; {};

View File

@ -187,8 +187,8 @@ namespace resolve_dynamic
template template
< <
typename Geometry1, typename Geometry2, typename Geometry1, typename Geometry2,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type typename Tag2 = geometry::tag_t<Geometry2>
> >
struct distance struct distance
{ {

View File

@ -27,7 +27,7 @@ namespace detail { namespace distance
// class to choose between point_iterator and segment_iterator // 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 struct iterator_selector
{ {
typedef geometry::segment_iterator<Geometry> iterator_type; typedef geometry::segment_iterator<Geometry> iterator_type;

View File

@ -315,10 +315,7 @@ template
typename Point, typename Point,
typename MultiGeometry, typename MultiGeometry,
typename Strategies, typename Strategies,
bool CheckCoveredBy = std::is_same bool CheckCoveredBy = std::is_same<tag_t<MultiGeometry>, multi_polygon_tag>::value
<
typename tag<MultiGeometry>::type, multi_polygon_tag
>::value
> >
class point_to_multigeometry class point_to_multigeometry
{ {
@ -509,7 +506,7 @@ struct distance
> : distance > : distance
< <
Point, Linear, Strategy, Point, Linear, Strategy,
point_tag, typename tag<Linear>::type, point_tag, tag_t<Linear>,
strategy_tag_distance_point_segment, false strategy_tag_distance_point_segment, false
> >
{}; {};
@ -523,7 +520,7 @@ struct distance
> : distance > : distance
< <
Point, Areal, Strategy, Point, Areal, Strategy,
point_tag, typename tag<Areal>::type, point_tag, tag_t<Areal>,
strategy_tag_distance_point_segment, false strategy_tag_distance_point_segment, false
> >
{}; {};

View File

@ -39,15 +39,15 @@ struct dummy_multi_polygon {};
namespace traits namespace traits
{ {
template <> struct tag<geometry::detail::dummy_point> { typedef point_tag type; }; template <> struct tag<geometry::detail::dummy_point> { using type = point_tag; };
template <> struct tag<geometry::detail::dummy_segment> { typedef segment_tag type; }; template <> struct tag<geometry::detail::dummy_segment> { using type = segment_tag; };
template <> struct tag<geometry::detail::dummy_box> { typedef box_tag type; }; template <> struct tag<geometry::detail::dummy_box> { using type = box_tag; };
template <> struct tag<geometry::detail::dummy_linestring> { typedef linestring_tag type; }; template <> struct tag<geometry::detail::dummy_linestring> { using type = linestring_tag; };
template <> struct tag<geometry::detail::dummy_ring> { typedef ring_tag type; }; template <> struct tag<geometry::detail::dummy_ring> { using type = ring_tag; };
template <> struct tag<geometry::detail::dummy_polygon> { typedef polygon_tag type; }; template <> struct tag<geometry::detail::dummy_polygon> { using type = polygon_tag; };
template <> struct tag<geometry::detail::dummy_multi_point> { typedef multi_point_tag type; }; template <> struct tag<geometry::detail::dummy_multi_point> { using type = multi_point_tag; };
template <> struct tag<geometry::detail::dummy_multi_linestring> { typedef multi_linestring_tag type; }; template <> struct tag<geometry::detail::dummy_multi_linestring> { using type = multi_linestring_tag; };
template <> struct tag<geometry::detail::dummy_multi_polygon> { typedef multi_polygon_tag type; }; template <> struct tag<geometry::detail::dummy_multi_polygon> { using type = multi_polygon_tag; };
} // namespace traits } // namespace traits

View File

@ -100,7 +100,7 @@ struct envelope<default_strategy, false>
namespace resolve_dynamic namespace resolve_dynamic
{ {
template <typename Geometry, typename Tag = typename tag<Geometry>::type> template <typename Geometry, typename Tag = tag_t<Geometry>>
struct envelope struct envelope
{ {
template <typename Box, typename Strategy> template <typename Box, typename Strategy>

View File

@ -37,8 +37,8 @@ template
< <
typename GeometryIn, typename GeometryIn,
typename GeometryOut, typename GeometryOut,
typename TagIn = typename tag<GeometryIn>::type, typename TagIn = tag_t<GeometryIn>,
typename TagOut = typename tag<GeometryOut>::type typename TagOut = tag_t<GeometryOut>
> >
struct transform_units_impl struct transform_units_impl
: not_implemented<TagIn, TagOut> : not_implemented<TagIn, TagOut>

View File

@ -504,7 +504,7 @@ inline void collect_vectors(Collection& collection, Geometry const& geometry)
dispatch::collect_vectors dispatch::collect_vectors
< <
typename tag<Geometry>::type, tag_t<Geometry>,
Collection, Collection,
Geometry Geometry
>::apply(collection, geometry); >::apply(collection, geometry);

View File

@ -159,8 +159,8 @@ namespace resolve_dynamic {
template template
< <
typename Geometry1, typename Geometry2, typename Geometry1, typename Geometry2,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type typename Tag2 = geometry::tag_t<Geometry2>
> >
struct equals struct equals
{ {

View File

@ -101,7 +101,7 @@ struct expand<default_strategy, false>
namespace resolve_dynamic namespace resolve_dynamic
{ {
template <typename Geometry, typename Tag = typename tag<Geometry>::type> template <typename Geometry, typename Tag = tag_t<Geometry>>
struct expand struct expand
{ {
template <typename Box, typename Strategy> template <typename Box, typename Strategy>

View File

@ -393,7 +393,7 @@ template
< <
typename Geometry, typename Geometry,
std::size_t Dimension, std::size_t Dimension,
typename GeometryTag = typename tag<Geometry>::type typename GeometryTag = tag_t<Geometry>
> >
struct extreme_points struct extreme_points
{}; {};

View File

@ -133,7 +133,7 @@ namespace dispatch
template template
< <
typename Geometry, typename Geometry,
typename Tag = typename tag<Geometry>::type typename Tag = tag_t<Geometry>
> >
struct for_each_range struct for_each_range
{ {

View File

@ -44,8 +44,8 @@ struct gc_can_convert_element
template <typename G> template <typename G>
using has_same_tag_as_single = std::is_same using has_same_tag_as_single = std::is_same
< <
typename geometry::tag<G>::type, geometry::tag_t<G>,
typename geometry::tag<typename boost::range_value<Multi>::type>::type geometry::tag_t<typename boost::range_value<Multi>::type>
>; >;
using gc_types = typename traits::geometry_types<GC>::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; using found_type = typename util::sequence_find_if<gc_types, has_same_tag_as_single>::type;

View File

@ -37,8 +37,8 @@ namespace dispatch
template template
< <
typename Geometry1, typename Geometry2, typename Geometry1, typename Geometry2,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type, typename Tag2 = geometry::tag_t<Geometry2>,
bool Reverse = reverse_dispatch<Geometry1, Geometry2>::type::value bool Reverse = reverse_dispatch<Geometry1, Geometry2>::type::value
> >
struct intersection struct intersection
@ -109,9 +109,9 @@ namespace resolve_collection
template template
< <
typename Geometry1, typename Geometry2, typename GeometryOut, typename Geometry1, typename Geometry2, typename GeometryOut,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type, typename Tag2 = geometry::tag_t<Geometry2>,
typename TagOut = typename geometry::tag<GeometryOut>::type typename TagOut = geometry::tag_t<GeometryOut>
> >
struct intersection struct intersection
{ {
@ -216,8 +216,8 @@ namespace resolve_dynamic
template template
< <
typename Geometry1, typename Geometry2, typename Geometry1, typename Geometry2,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type typename Tag2 = geometry::tag_t<Geometry2>
> >
struct intersection struct intersection
{ {

View File

@ -43,7 +43,7 @@ namespace detail { namespace is_simple
#ifdef BOOST_GEOMETRY_TEST_DEBUG #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 struct debug_boundary_points_printer
: not_implemented<Linear> : not_implemented<Linear>
{}; {};

View File

@ -80,7 +80,7 @@ template
< <
typename Geometry, typename Geometry,
typename Strategy, typename Strategy,
typename Tag = typename tag<Geometry>::type typename Tag = tag_t<Geometry>
> >
class is_acceptable_turn class is_acceptable_turn
: not_implemented<Geometry> : not_implemented<Geometry>

View File

@ -24,7 +24,7 @@ namespace boost { namespace geometry
namespace detail { namespace is_valid 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 struct debug_validity_phase
{ {
static inline void apply(int) static inline void apply(int)

View File

@ -106,7 +106,7 @@ struct range_has_invalid_coordinate
template template
< <
typename Geometry, typename Geometry,
typename Tag = typename tag<Geometry>::type, typename Tag = tag_t<Geometry>,
bool HasFloatingPointCoordinates = std::is_floating_point bool HasFloatingPointCoordinates = std::is_floating_point
< <
coordinate_type_t<Geometry> coordinate_type_t<Geometry>

View File

@ -92,7 +92,7 @@ struct is_valid<default_strategy, false>
namespace resolve_dynamic namespace resolve_dynamic
{ {
template <typename Geometry, typename Tag = typename tag<Geometry>::type> template <typename Geometry, typename Tag = tag_t<Geometry>>
struct is_valid struct is_valid
{ {
template <typename VisitPolicy, typename Strategy> template <typename VisitPolicy, typename Strategy>

View File

@ -33,7 +33,7 @@ template
< <
typename Geometry, typename Geometry,
order_selector Order = geometry::point_order<Geometry>::value, order_selector Order = geometry::point_order<Geometry>::value,
typename Tag = typename tag<Geometry>::type typename Tag = tag_t<Geometry>
> >
struct acceptable_operation 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 struct is_acceptable_turn
{}; {};

View File

@ -453,10 +453,10 @@ public:
else // else prevents unreachable code warning else // else prevents unreachable code warning
{ {
// compute turns and check if all are acceptable // 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); 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; std::deque<typename has_valid_turns::turn_type> turns;
bool has_invalid_turns bool has_invalid_turns

View File

@ -46,8 +46,8 @@ template
< <
typename Geometry1, typename Geometry1,
typename Geometry2, typename Geometry2,
typename Tag1 = typename tag<Geometry1>::type, typename Tag1 = tag_t<Geometry1>,
typename Tag2 = typename tag<Geometry2>::type typename Tag2 = tag_t<Geometry2>
> >
struct overlaps struct overlaps
: detail::relate::relate_impl : detail::relate::relate_impl
@ -131,8 +131,8 @@ namespace resolve_dynamic
template template
< <
typename Geometry1, typename Geometry2, typename Geometry1, typename Geometry2,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type typename Tag2 = geometry::tag_t<Geometry2>
> >
struct overlaps struct overlaps
{ {

View File

@ -48,9 +48,9 @@ inline void convert_and_add(GeometryOut& result,
ring_identifier id, ring_identifier id,
bool reversed, bool append) bool reversed, bool append)
{ {
typedef typename geometry::tag<Geometry1>::type tag1; using tag1 = geometry::tag_t<Geometry1>;
typedef typename geometry::tag<Geometry2>::type tag2; using tag2 = geometry::tag_t<Geometry2>;
typedef typename geometry::tag<GeometryOut>::type tag_out; using tag_out = geometry::tag_t<GeometryOut>;
if (id.source_index == 0) if (id.source_index == 0)
{ {

View File

@ -57,8 +57,8 @@ static inline bool within_selected_input(Item const& item2,
RingCollection const& collection, RingCollection const& collection,
Strategy const& strategy) Strategy const& strategy)
{ {
typedef typename geometry::tag<Geometry1>::type tag1; using tag1 = geometry::tag_t<Geometry1>;
typedef typename geometry::tag<Geometry2>::type tag2; using tag2 = geometry::tag_t<Geometry2>;
// NOTE: range_in_geometry first checks the item2.point and then // NOTE: range_in_geometry first checks the item2.point and then
// if this point is on boundary it checks points of inner_geometry // 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, RingCollection const& collection,
Strategy const& strategy) Strategy const& strategy)
{ {
typedef typename geometry::tag<Geometry1>::type tag1; using tag1 = geometry::tag_t<Geometry1>;
typedef typename geometry::tag<Geometry2>::type tag2; using tag2 = geometry::tag_t<Geometry2>;
switch (inner_id.source_index) 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 is_dissolve = OverlayType == overlay_dissolve;
static bool const check_for_orientation = is_buffer || is_dissolve; static bool const check_for_orientation = is_buffer || is_dissolve;
typedef typename geometry::tag<Geometry1>::type tag1; using tag1 = geometry::tag_t<Geometry1>;
typedef typename geometry::tag<Geometry2>::type tag2; using tag2 = geometry::tag_t<Geometry2>;
typedef typename RingMap::mapped_type ring_info_type; using ring_info_type = typename RingMap::mapped_type;
typedef typename ring_info_type::point_type point_type; using point_type = typename ring_info_type::point_type;
typedef model::box<point_type> box_type; using box_type = model::box<point_type>;
typedef typename geometry::area_result using area_result_type = typename geometry::area_result
< <
point_type, Strategy // TODO: point_type is technically incorrect point_type, Strategy // TODO: point_type is technically incorrect
>::type area_result_type; >::type;
{ {
std::size_t count_total = ring_map.size(); std::size_t count_total = ring_map.size();

View File

@ -26,7 +26,7 @@ template
< <
typename Point, typename Point,
typename CoordinateType = geometry::coordinate_type_t<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 bool IsIntegral = std::is_integral<CoordinateType>::value
> >
struct cluster_colocator struct cluster_colocator

View File

@ -288,7 +288,7 @@ inline bool copy_segment_point(Geometry const& geometry,
return dispatch::copy_segment_point return dispatch::copy_segment_point
< <
typename tag<Geometry>::type, tag_t<Geometry>,
Geometry, Geometry,
Reverse, Reverse,
SegmentIdentifier, SegmentIdentifier,
@ -322,7 +322,7 @@ inline bool copy_segment_point(Geometry1 const& geometry1, Geometry2 const& geom
{ {
return dispatch::copy_segment_point return dispatch::copy_segment_point
< <
typename tag<Geometry1>::type, tag_t<Geometry1>,
Geometry1, Geometry1,
Reverse1, Reverse1,
SegmentIdentifier, SegmentIdentifier,
@ -333,7 +333,7 @@ inline bool copy_segment_point(Geometry1 const& geometry1, Geometry2 const& geom
{ {
return dispatch::copy_segment_point return dispatch::copy_segment_point
< <
typename tag<Geometry2>::type, tag_t<Geometry2>,
Geometry2, Geometry2,
Reverse2, Reverse2,
SegmentIdentifier, SegmentIdentifier,

View File

@ -349,7 +349,7 @@ inline void copy_segments(Geometry const& geometry,
dispatch::copy_segments dispatch::copy_segments
< <
typename tag<Geometry>::type, tag_t<Geometry>,
Reverse Reverse
>::apply(geometry, seg_id, to_index, strategy, range_out); >::apply(geometry, seg_id, to_index, strategy, range_out);
} }

View File

@ -164,7 +164,7 @@ inline bool is_touching(Turn const& turn, Operation const& op,
template template
< <
typename GeometryOut, typename GeometryOut,
typename Tag = typename geometry::tag<GeometryOut>::type typename Tag = geometry::tag_t<GeometryOut>
> >
struct add_isolated_point struct add_isolated_point
{}; {};

View File

@ -499,7 +499,7 @@ template
overlay_type OverlayType, overlay_type OverlayType,
bool FollowIsolatedPoints, bool FollowIsolatedPoints,
bool FollowContinueTurns, bool FollowContinueTurns,
typename TagIn1 = typename tag<Geometry1>::type typename TagIn1 = tag_t<Geometry1>
> >
struct follow struct follow
: not_implemented<Geometry1> : not_implemented<Geometry1>

View File

@ -110,16 +110,16 @@ inline void get_intersection_points(Geometry1 const& geometry1,
reverse_dispatch<Geometry1, Geometry2>::type::value, reverse_dispatch<Geometry1, Geometry2>::type::value,
dispatch::get_turns_reversed dispatch::get_turns_reversed
< <
typename tag<Geometry1>::type, tag_t<Geometry1>,
typename tag<Geometry2>::type, tag_t<Geometry2>,
Geometry1, Geometry2, Geometry1, Geometry2,
false, false, false, false,
TurnPolicy TurnPolicy
>, >,
dispatch::get_turns dispatch::get_turns
< <
typename tag<Geometry1>::type, tag_t<Geometry1>,
typename tag<Geometry2>::type, tag_t<Geometry2>,
Geometry1, Geometry2, Geometry1, Geometry2,
false, false, false, false,
TurnPolicy TurnPolicy

View File

@ -122,7 +122,7 @@ template <typename Geometry>
inline signed_size_type segment_count_on_ring(Geometry const& geometry, inline signed_size_type segment_count_on_ring(Geometry const& geometry,
ring_identifier const& ring_id) 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, // A closed polygon, a triangle of 4 points, including starting point,
// contains 3 segments. So handle as if it is closed, and subtract one. // contains 3 segments. So handle as if it is closed, and subtract one.

View File

@ -167,18 +167,18 @@ class intersection_info
: public intersection_info_base<UniqueSubRange1, UniqueSubRange2, : public intersection_info_base<UniqueSubRange1, UniqueSubRange2,
TurnPoint, UmbrellaStrategy> TurnPoint, UmbrellaStrategy>
{ {
typedef intersection_info_base<UniqueSubRange1, UniqueSubRange2, using base = intersection_info_base<UniqueSubRange1, UniqueSubRange2,
TurnPoint, UmbrellaStrategy> base; TurnPoint, UmbrellaStrategy>;
public: public:
typedef typename UmbrellaStrategy::cs_tag cs_tag; using cs_tag = typename UmbrellaStrategy::cs_tag;
typedef typename base::side_calculator_type side_calculator_type; using side_calculator_type = typename base::side_calculator_type;
typedef typename base::result_type result_type; using result_type = typename base::result_type;
typedef typename result_type::intersection_points_type i_info_type; using i_info_type = typename result_type::intersection_points_type;
typedef typename result_type::direction_type d_info_type; using d_info_type = typename result_type::direction_type;
intersection_info(UniqueSubRange1 const& range_p, intersection_info(UniqueSubRange1 const& range_p,
UniqueSubRange2 const& range_q, UniqueSubRange2 const& range_q,

View File

@ -815,9 +815,15 @@ struct topological_tag_base
using type = tag_cast_t<tag_t<Geometry>, pointlike_tag, linear_tag, areal_tag>; using type = tag_cast_t<tag_t<Geometry>, pointlike_tag, linear_tag, areal_tag>;
}; };
template <typename Geometry1, typename Geometry2, typename AssignPolicy, template
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 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 struct get_turn_info_type
: overlay::get_turn_info<AssignPolicy> : 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, template <typename Geometry1, typename Geometry2, typename Point, typename SegmentRatio,
typename Tag1 = typename tag<Geometry1>::type, typename Tag2 = typename tag<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> typename TagBase1 = typename topological_tag_base<Geometry1>::type,
typename TagBase2 = typename topological_tag_base<Geometry2>::type>
struct turn_operation_type struct turn_operation_type
{ {
using type = overlay::turn_operation<Point, SegmentRatio>; using type = overlay::turn_operation<Point, SegmentRatio>;
@ -1017,16 +1024,16 @@ inline void get_turns(Geometry1 const& geometry1,
reverse_dispatch<Geometry1, Geometry2>::type::value, reverse_dispatch<Geometry1, Geometry2>::type::value,
dispatch::get_turns_reversed dispatch::get_turns_reversed
< <
typename tag<Geometry1>::type, tag_t<Geometry1>,
typename tag<Geometry2>::type, tag_t<Geometry2>,
Geometry1, Geometry2, Geometry1, Geometry2,
Reverse1, Reverse2, Reverse1, Reverse2,
TurnPolicy TurnPolicy
>, >,
dispatch::get_turns dispatch::get_turns
< <
typename tag<Geometry1>::type, tag_t<Geometry1>,
typename tag<Geometry2>::type, tag_t<Geometry2>,
Geometry1, Geometry2, Geometry1, Geometry2,
Reverse1, Reverse2, Reverse1, Reverse2,
TurnPolicy TurnPolicy

View File

@ -313,8 +313,8 @@ struct intersection_of_linestring_with_areal
dispatch::get_turns dispatch::get_turns
< <
typename geometry::tag<LineString>::type, geometry::tag_t<LineString>,
typename geometry::tag<Areal>::type, geometry::tag_t<Areal>,
LineString, LineString,
Areal, Areal,
false, false,
@ -443,8 +443,8 @@ struct intersection_linear_areal_point
dispatch::get_turns dispatch::get_turns
< <
typename geometry::tag<Geometry1>::type, geometry::tag_t<Geometry1>,
typename geometry::tag<Geometry2>::type, geometry::tag_t<Geometry2>,
Geometry1, Geometry1,
Geometry2, Geometry2,
false, false,

View File

@ -252,7 +252,7 @@ public:
LinestringOut, LinestringOut,
OverlayType, OverlayType,
Linear1, Linear1,
typename tag<Linear1>::type tag_t<Linear1>
>::apply(linear1, oit); >::apply(linear1, oit);
} }
@ -299,7 +299,7 @@ struct linear_linear_linestring
LinestringOut, LinestringOut,
overlay_difference, overlay_difference,
Linear1, Linear1,
typename tag<Linear1>::type tag_t<Linear1>
>::apply(linear1, oit); >::apply(linear1, oit);
return linear_linear_linestring return linear_linear_linestring

View File

@ -31,7 +31,7 @@ namespace detail { namespace overlay
template template
< <
typename Geometry, typename Geometry,
typename Tag = typename tag<Geometry>::type typename Tag = tag_t<Geometry>
> >
struct needs_self_turns struct needs_self_turns
{ {

View File

@ -53,7 +53,7 @@ template
< <
typename PointOut, typename PointOut,
typename GeometryIn, typename GeometryIn,
typename TagIn = typename tag<GeometryIn>::type typename TagIn = tag_t<GeometryIn>
> >
struct copy_points struct copy_points
: not_implemented<PointOut, GeometryIn> : not_implemented<PointOut, GeometryIn>
@ -421,8 +421,8 @@ struct union_pointlike_pointlike_point
return detail_dispatch::overlay::pointlike_pointlike_point return detail_dispatch::overlay::pointlike_pointlike_point
< <
PointLike2, PointLike1, PointOut, overlay_difference, PointLike2, PointLike1, PointOut, overlay_difference,
typename tag<PointLike2>::type, tag_t<PointLike2>,
typename tag<PointLike1>::type tag_t<PointLike1>
>::apply(pointlike2, pointlike1, oit, strategy); >::apply(pointlike2, pointlike1, oit, strategy);
} }

View File

@ -29,7 +29,7 @@ namespace detail { namespace overlay
template template
< <
typename Geometry, typename Geometry,
typename Tag = typename geometry::tag<Geometry>::type typename Tag = geometry::tag_t<Geometry>
> >
struct points_range struct points_range
{ {
@ -80,7 +80,7 @@ struct points_range<Box, box_tag>
template template
< <
typename Geometry, typename Geometry,
typename Tag = typename geometry::tag<Geometry>::type typename Tag = geometry::tag_t<Geometry>
> >
struct point_in_geometry_helper struct point_in_geometry_helper
{ {

View File

@ -307,8 +307,8 @@ inline void select_rings(Geometry1 const& geometry1, Geometry2 const& geometry2,
RingPropertyMap& selected_ring_properties, RingPropertyMap& selected_ring_properties,
Strategy const& strategy) Strategy const& strategy)
{ {
typedef typename geometry::tag<Geometry1>::type tag1; using tag1 = geometry::tag_t<Geometry1>;
typedef typename geometry::tag<Geometry2>::type tag2; using tag2 = geometry::tag_t<Geometry2>;
RingPropertyMap all_ring_properties; RingPropertyMap all_ring_properties;
dispatch::select_rings<tag1, Geometry1>::apply(geometry1, geometry2, dispatch::select_rings<tag1, Geometry1>::apply(geometry1, geometry2,
@ -336,10 +336,8 @@ inline void select_rings(Geometry const& geometry,
RingPropertyMap& selected_ring_properties, RingPropertyMap& selected_ring_properties,
Strategy const& strategy) Strategy const& strategy)
{ {
typedef typename geometry::tag<Geometry>::type tag;
RingPropertyMap all_ring_properties; 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, ring_identifier(0, -1, -1), all_ring_properties,
strategy); strategy);

View File

@ -288,7 +288,7 @@ struct self_get_turn_points
dispatch::self_get_turn_points dispatch::self_get_turn_points
< <
Reverse, Reverse,
typename tag<Geometry>::type, tag_t<Geometry>,
Geometry, Geometry,
turn_policy turn_policy
>::apply(geometry, strategies, turns, interrupt_policy, >::apply(geometry, strategies, turns, interrupt_policy,

View File

@ -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 Point3 const& segment_b, // curr | back - 1 | spike's vertex
SideStrategy const& strategy) 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); int const side = strategy.apply(segment_a, segment_b, last_point);
if (side == 0) if (side == 0)

View File

@ -214,7 +214,7 @@ inline bool point_on_border(Point& point, Geometry const& geometry)
return dispatch::point_on_border return dispatch::point_on_border
< <
typename tag<Geometry>::type tag_t<Geometry>
>::apply(point, geometry); >::apply(point, geometry);
} }

View File

@ -42,7 +42,7 @@ template
< <
typename Geometry, typename Geometry,
typename Strategy, typename Strategy,
typename Tag = typename geometry::tag<Geometry>::type typename Tag = geometry::tag_t<Geometry>
> >
class boundary_checker {}; class boundary_checker {};

View File

@ -47,7 +47,7 @@ template
< <
std::size_t OpId, std::size_t OpId,
typename Geometry, typename Geometry,
typename Tag = typename geometry::tag<Geometry>::type, typename Tag = geometry::tag_t<Geometry>,
bool IsMulti = util::is_multi<Geometry>::value bool IsMulti = util::is_multi<Geometry>::value
> >
struct for_each_disjoint_geometry_if struct for_each_disjoint_geometry_if

View File

@ -62,8 +62,8 @@ namespace dispatch {
template <typename Geometry1, template <typename Geometry1,
typename Geometry2, typename Geometry2,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type, typename Tag2 = geometry::tag_t<Geometry2>,
int TopDim1 = geometry::topological_dimension<Geometry1>::value, int TopDim1 = geometry::topological_dimension<Geometry1>::value,
int TopDim2 = geometry::topological_dimension<Geometry2>::value, int TopDim2 = geometry::topological_dimension<Geometry2>::value,
bool IsGeneric = detail::relate::is_generic<Geometry1, Geometry2>::value bool IsGeneric = detail::relate::is_generic<Geometry1, Geometry2>::value
@ -231,8 +231,8 @@ namespace resolve_dynamic
template template
< <
typename Geometry1, typename Geometry2, typename Geometry1, typename Geometry2,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type typename Tag2 = geometry::tag_t<Geometry2>
> >
struct relate struct relate
{ {

View File

@ -51,7 +51,7 @@ namespace detail { namespace relate
template template
< <
typename Geometry, typename Geometry,
typename Tag = typename tag<Geometry>::type typename Tag = tag_t<Geometry>
> >
struct multi_point_geometry_eb struct multi_point_geometry_eb
{ {

View File

@ -43,8 +43,8 @@ struct relate_impl_base
>::value, >::value,
not_implemented not_implemented
< <
typename geometry::tag<Geometry1>::type, geometry::tag_t<Geometry1>,
typename geometry::tag<Geometry2>::type geometry::tag_t<Geometry2>
>, >,
implemented_tag implemented_tag
> >

View File

@ -34,7 +34,7 @@ template
< <
typename Geometry, typename Geometry,
typename Strategy, typename Strategy,
typename Tag = typename geometry::tag<Geometry>::type typename Tag = geometry::tag_t<Geometry>
> >
struct topology_check struct topology_check
: not_implemented<Tag> : not_implemented<Tag>

View File

@ -94,8 +94,8 @@ struct get_turns
dispatch::get_turns dispatch::get_turns
< <
typename geometry::tag<Geometry1>::type, geometry::tag_t<Geometry1>,
typename geometry::tag<Geometry2>::type, geometry::tag_t<Geometry2>,
Geometry1, Geometry1,
Geometry2, Geometry2,
reverse1, reverse1,

View File

@ -41,8 +41,8 @@ namespace resolve_dynamic
template template
< <
typename Geometry1, typename Geometry2, typename Geometry1, typename Geometry2,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type typename Tag2 = geometry::tag_t<Geometry2>
> >
struct relation struct relation
{ {

View File

@ -178,7 +178,7 @@ inline typename ring_return_type<Geometry const>::type
return dispatch::range_by_section return dispatch::range_by_section
< <
typename tag<Geometry>::type, tag_t<Geometry>,
Geometry, Geometry,
Section Section
>::apply(geometry, section); >::apply(geometry, section);

View File

@ -872,7 +872,7 @@ inline void sectionalize(Geometry const& geometry,
dispatch::sectionalize dispatch::sectionalize
< <
typename tag<Geometry>::type, tag_t<Geometry>,
Geometry, Geometry,
Reverse, Reverse,
DimensionVector DimensionVector

View File

@ -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 struct first_geometry_type
{ {
using type = Geometry; using type = Geometry;

View File

@ -37,7 +37,7 @@ namespace detail_dispatch {
template template
< <
typename Geometry, typename Geometry,
typename Tag = typename geometry::tag<Geometry>::type, typename Tag = geometry::tag_t<Geometry>,
bool IsMulti = util::is_multi<Geometry>::value bool IsMulti = util::is_multi<Geometry>::value
> >
struct sub_range : not_implemented<Tag> struct sub_range : not_implemented<Tag>

View File

@ -149,8 +149,8 @@ namespace resolve_dynamic {
template template
< <
typename Geometry1, typename Geometry2, typename Geometry1, typename Geometry2,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type typename Tag2 = geometry::tag_t<Geometry2>
> >
struct touches 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; struct self_touches;
template <typename Geometry> template <typename Geometry>

View File

@ -117,8 +117,7 @@ template <typename Tag>
struct tupled_output_find_index_pred struct tupled_output_find_index_pred
{ {
template <typename T> template <typename T>
struct pred struct pred : std::is_same<geometry::tag_t<T>, Tag>
: std::is_same<typename geometry::tag<T>::type, Tag>
{}; {};
}; };
@ -360,8 +359,7 @@ template <typename Tag>
struct is_tag_same_as_pred struct is_tag_same_as_pred
{ {
template <typename T> template <typename T>
struct pred struct pred : std::is_same<geometry::tag_t<T>, Tag>
: std::is_same<typename geometry::tag<T>::type, Tag>
{}; {};
}; };
@ -374,7 +372,7 @@ template
typename GeometryOut, typename GeometryOut,
typename Tag, typename Tag,
typename DefaultTag, typename DefaultTag,
typename GeometryTag = typename geometry::tag<GeometryOut>::type typename GeometryTag = geometry::tag_t<GeometryOut>
> >
struct output_geometry_access struct output_geometry_access
{}; {};
@ -474,7 +472,7 @@ struct setop_insert_output_tag
< <
geometry::detail::is_tupled_single_output<GeometryOut>::value, geometry::detail::is_tupled_single_output<GeometryOut>::value,
tupled_output_tag, tupled_output_tag,
typename geometry::tag<GeometryOut>::type geometry::tag_t<GeometryOut>
> >
{}; {};

View File

@ -30,7 +30,7 @@ namespace boost { namespace geometry
namespace dispatch namespace dispatch
{ {
template <typename Geometry, typename Tag = typename tag<Geometry>::type> template <typename Geometry, typename Tag = tag_t<Geometry>>
struct visit_one struct visit_one
{ {
template <typename F, typename G> template <typename F, typename G>
@ -65,8 +65,8 @@ struct visit_one<Geometry, dynamic_geometry_tag>
template template
< <
typename Geometry1, typename Geometry2, typename Geometry1, typename Geometry2,
typename Tag1 = typename tag<Geometry1>::type, typename Tag1 = tag_t<Geometry1>,
typename Tag2 = typename tag<Geometry2>::type typename Tag2 = tag_t<Geometry2>
> >
struct visit_two 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 struct visit_breadth_first
{ {
template <typename F, typename G> template <typename F, typename G>

View File

@ -46,8 +46,8 @@ template
< <
typename Geometry1, typename Geometry1,
typename Geometry2, typename Geometry2,
typename Tag1 = typename tag<Geometry1>::type, typename Tag1 = tag_t<Geometry1>,
typename Tag2 = typename tag<Geometry2>::type typename Tag2 = tag_t<Geometry2>
> >
struct within struct within
: not_implemented<Tag1, Tag2> : not_implemented<Tag1, Tag2>
@ -130,8 +130,8 @@ namespace resolve_dynamic
template template
< <
typename Geometry1, typename Geometry2, typename Geometry1, typename Geometry2,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type typename Tag2 = geometry::tag_t<Geometry2>
> >
struct within struct within
{ {

View File

@ -71,8 +71,7 @@ namespace detail_dispatch { namespace within {
// returns 0 if P is on the boundry of G // returns 0 if P is on the boundry of G
// returns -1 if P is in the exterior of G // returns -1 if P is in the exterior of G
template <typename Geometry, template <typename Geometry, typename Tag = geometry::tag_t<Geometry>>
typename Tag = typename geometry::tag<Geometry>::type>
struct point_in_geometry struct point_in_geometry
: not_implemented<Tag> : not_implemented<Tag>
{}; {};

View File

@ -332,9 +332,9 @@ namespace resolve_collection
template template
< <
typename Geometry1, typename Geometry2, typename Collection, typename Geometry1, typename Geometry2, typename Collection,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type, typename Tag2 = geometry::tag_t<Geometry2>,
typename CollectionTag = typename geometry::tag<Collection>::type typename CollectionTag = geometry::tag_t<Collection>
> >
struct difference struct difference
{ {
@ -577,8 +577,8 @@ namespace resolve_dynamic
template template
< <
typename Geometry1, typename Geometry2, typename Geometry1, typename Geometry2,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type typename Tag2 = geometry::tag_t<Geometry2>
> >
struct difference struct difference
{ {

View File

@ -145,8 +145,8 @@ template
< <
typename Geometry1, typename Geometry1,
typename Geometry2, typename Geometry2,
typename Tag1 = typename tag<Geometry1>::type, typename Tag1 = tag_t<Geometry1>,
typename Tag2 = typename tag<Geometry2>::type typename Tag2 = tag_t<Geometry2>
> >
struct discrete_frechet_distance : not_implemented<Tag1, Tag2> struct discrete_frechet_distance : not_implemented<Tag1, Tag2>
{}; {};

View File

@ -215,8 +215,8 @@ template
< <
typename Geometry1, typename Geometry1,
typename Geometry2, typename Geometry2,
typename Tag1 = typename tag<Geometry1>::type, typename Tag1 = tag_t<Geometry1>,
typename Tag2 = typename tag<Geometry2>::type typename Tag2 = tag_t<Geometry2>
> >
struct discrete_hausdorff_distance : not_implemented<Tag1, Tag2> struct discrete_hausdorff_distance : not_implemented<Tag1, Tag2>
{}; {};

View File

@ -36,7 +36,7 @@ namespace dispatch
template template
< <
typename Geometry, typename Geometry,
typename Tag = typename tag<Geometry>::type typename Tag = tag_t<Geometry>
> >
struct envelope : not_implemented<Tag> struct envelope : not_implemented<Tag>
{}; {};

View File

@ -40,8 +40,8 @@ namespace dispatch
template template
< <
typename GeometryOut, typename Geometry, typename GeometryOut, typename Geometry,
typename TagOut = typename tag<GeometryOut>::type, typename TagOut = tag_t<GeometryOut>,
typename Tag = typename tag<Geometry>::type typename Tag = tag_t<Geometry>
> >
struct expand : not_implemented<TagOut, Tag> struct expand : not_implemented<TagOut, Tag>
{}; {};

View File

@ -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 struct is_simple
: not_implemented<Geometry> : not_implemented<Geometry>
{}; {};

View File

@ -26,7 +26,7 @@ namespace dispatch
template template
< <
typename Geometry, typename Geometry,
typename Tag = typename tag<Geometry>::type, typename Tag = tag_t<Geometry>,
// for multi-geometries: determines if empty multi-geometries are allowed // for multi-geometries: determines if empty multi-geometries are allowed
bool AllowEmptyMultiGeometries = true bool AllowEmptyMultiGeometries = true
> >

View File

@ -427,7 +427,7 @@ struct for_each_point<MultiGeometry, multi_tag>
template template
< <
typename Geometry, typename Geometry,
typename Tag = typename tag<Geometry>::type typename Tag = tag_t<Geometry>
> >
struct for_each_segment: not_implemented<Tag> struct for_each_segment: not_implemented<Tag>
{}; {};

View File

@ -154,7 +154,7 @@ namespace dispatch
template template
< <
typename Geometry, typename Geometry,
typename Tag = typename tag<Geometry>::type typename Tag = tag_t<Geometry>
> >
struct is_convex struct is_convex
{ {
@ -264,7 +264,7 @@ struct is_convex<default_strategy, false>
namespace resolve_dynamic { namespace resolve_dynamic {
template <typename Geometry, typename Tag = typename tag<Geometry>::type> template <typename Geometry, typename Tag = tag_t<Geometry>>
struct is_convex struct is_convex
{ {
template <typename Strategy> template <typename Strategy>

View File

@ -94,7 +94,7 @@ struct multi_is_empty
namespace dispatch 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> struct is_empty : not_implemented<Tag>
{}; {};
@ -150,7 +150,7 @@ struct is_empty<Geometry, multi_polygon_tag>
namespace resolve_dynamic namespace resolve_dynamic
{ {
template <typename Geometry, typename Tag = typename tag<Geometry>::type> template <typename Geometry, typename Tag = tag_t<Geometry>>
struct is_empty struct is_empty
{ {
static inline bool apply(Geometry const& geometry) static inline bool apply(Geometry const& geometry)

View File

@ -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 struct length : detail::calculate_null
{ {
typedef typename default_length_result<Geometry>::type return_type; typedef typename default_length_result<Geometry>::type return_type;
@ -220,7 +220,7 @@ struct length<default_strategy, false>
namespace resolve_dynamic { namespace resolve_dynamic {
template <typename Geometry, typename Tag = typename geometry::tag<Geometry>::type> template <typename Geometry, typename Tag = geometry::tag_t<Geometry>>
struct length struct length
{ {
template <typename Strategy> template <typename Strategy>

View File

@ -187,8 +187,8 @@ template
< <
typename Geometry, typename Geometry,
typename Pointlike, typename Pointlike,
typename Tag1 = typename tag<Geometry>::type, typename Tag1 = tag_t<Geometry>,
typename Tag2 = typename tag<Pointlike>::type typename Tag2 = tag_t<Pointlike>
> >
struct line_interpolate struct line_interpolate
{ {

View File

@ -94,7 +94,7 @@ inline Geometry make(Type const& c1, Type const& c2)
Geometry geometry; Geometry geometry;
dispatch::assign dispatch::assign
< <
typename tag<Geometry>::type, tag_t<Geometry>,
Geometry, Geometry,
geometry::dimension<Geometry>::type::value geometry::dimension<Geometry>::type::value
>::apply(geometry, c1, c2); >::apply(geometry, c1, c2);
@ -150,7 +150,7 @@ inline Geometry make(Type const& c1, Type const& c2, Type const& c3)
Geometry geometry; Geometry geometry;
dispatch::assign dispatch::assign
< <
typename tag<Geometry>::type, tag_t<Geometry>,
Geometry, Geometry,
geometry::dimension<Geometry>::type::value geometry::dimension<Geometry>::type::value
>::apply(geometry, c1, c2, c3); >::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; Geometry geometry;
dispatch::assign dispatch::assign
< <
typename tag<Geometry>::type, tag_t<Geometry>,
Geometry, Geometry,
geometry::dimension<Geometry>::type::value geometry::dimension<Geometry>::type::value
>::apply(geometry, c1, c2, c3, c4); >::apply(geometry, c1, c2, c3, c4);
@ -217,7 +217,7 @@ inline Geometry make_inverse()
Geometry geometry; Geometry geometry;
dispatch::assign_inverse dispatch::assign_inverse
< <
typename tag<Geometry>::type, tag_t<Geometry>,
Geometry Geometry
>::apply(geometry); >::apply(geometry);
return geometry; return geometry;
@ -238,7 +238,7 @@ inline Geometry make_zero()
Geometry geometry; Geometry geometry;
dispatch::assign_zero dispatch::assign_zero
< <
typename tag<Geometry>::type, tag_t<Geometry>,
Geometry Geometry
>::apply(geometry); >::apply(geometry);
return geometry; return geometry;

View File

@ -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 struct merge_elements
: not_implemented<Geometry, Tag> : not_implemented<Geometry, Tag>
{}; {};

View File

@ -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 struct num_interior_rings
: detail::counting::other_count<0> : detail::counting::other_count<0>
{}; {};

View File

@ -139,7 +139,7 @@ struct num_points<Geometry, AddForOpen, multi_tag>
namespace resolve_dynamic namespace resolve_dynamic
{ {
template <typename Geometry, typename Tag = typename tag<Geometry>::type> template <typename Geometry, typename Tag = tag_t<Geometry>>
struct num_points struct num_points
{ {
static inline std::size_t apply(Geometry const& geometry, bool add_for_open) static inline std::size_t apply(Geometry const& geometry, bool add_for_open)

View File

@ -66,7 +66,7 @@ struct range_count
namespace dispatch namespace dispatch
{ {
template <typename Geometry, typename Tag = typename tag<Geometry>::type> template <typename Geometry, typename Tag = tag_t<Geometry>>
struct num_segments struct num_segments
: not_implemented<Tag> : 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 struct num_segments
{ {
static inline std::size_t apply(Geometry const& geometry) static inline std::size_t apply(Geometry const& geometry)

View File

@ -51,7 +51,7 @@ namespace dispatch
{ {
// Default perimeter is 0.0, specializations implement calculated values // 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 struct perimeter : detail::calculate_null
{ {
typedef typename default_length_result<Geometry>::type return_type; typedef typename default_length_result<Geometry>::type return_type;
@ -163,7 +163,7 @@ struct perimeter<default_strategy, false>
namespace resolve_dynamic { namespace resolve_dynamic {
template <typename Geometry, typename Tag = typename geometry::tag<Geometry>::type> template <typename Geometry, typename Tag = geometry::tag_t<Geometry>>
struct perimeter struct perimeter
{ {
template <typename Strategy> template <typename Strategy>

View File

@ -206,7 +206,7 @@ namespace dispatch
template template
< <
typename Geometry, typename Geometry,
typename Tag = typename tag<Geometry>::type typename Tag = tag_t<Geometry>
> >
struct remove_spikes struct remove_spikes
{ {

View File

@ -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 struct reverse
{ {
static inline void apply(Geometry&) static inline void apply(Geometry&)
@ -125,7 +125,7 @@ struct reverse<Geometry, multi_polygon_tag>
namespace resolve_dynamic namespace resolve_dynamic
{ {
template <typename Geometry, typename Tag = typename tag<Geometry>::type> template <typename Geometry, typename Tag = tag_t<Geometry>>
struct reverse struct reverse
{ {
static void apply(Geometry& geometry) static void apply(Geometry& geometry)

View File

@ -653,11 +653,7 @@ struct has_same_tag_as
{ {
template <typename OtherGeometry> template <typename OtherGeometry>
struct pred struct pred
: std::is_same : std::is_same<geometry::tag_t<Geometry>, geometry::tag_t<OtherGeometry>>
<
typename geometry::tag<Geometry>::type,
typename geometry::tag<OtherGeometry>::type
>
{}; {};
}; };
@ -689,8 +685,8 @@ template
< <
typename GeometryIn, typename GeometryIn,
typename GeometryOut, typename GeometryOut,
typename TagIn = typename tag<GeometryIn>::type, typename TagIn = tag_t<GeometryIn>,
typename TagOut = typename tag<GeometryOut>::type typename TagOut = tag_t<GeometryOut>
> >
struct simplify: not_implemented<TagIn, TagOut> struct simplify: not_implemented<TagIn, TagOut>
{}; {};
@ -751,7 +747,7 @@ struct simplify<MultiPolygonIn, MultiPolygonOut, multi_polygon_tag, multi_polygo
template template
< <
typename Geometry, typename Geometry,
typename Tag = typename tag<Geometry>::type typename Tag = tag_t<Geometry>
> >
struct simplify_insert: not_implemented<Tag> struct simplify_insert: not_implemented<Tag>
{}; {};
@ -826,8 +822,8 @@ struct simplify<default_strategy, false>
default_strategy) default_strategy)
{ {
// NOTE: Alternatively take two geometry types in default_strategy // NOTE: Alternatively take two geometry types in default_strategy
using cs_tag1_t = typename geometry::cs_tag<GeometryIn>::type; using cs_tag1_t = geometry::cs_tag_t<GeometryIn>;
using cs_tag2_t = typename geometry::cs_tag<GeometryOut>::type; using cs_tag2_t = geometry::cs_tag_t<GeometryOut>;
BOOST_GEOMETRY_STATIC_ASSERT( BOOST_GEOMETRY_STATIC_ASSERT(
(std::is_same<cs_tag1_t, cs_tag2_t>::value), (std::is_same<cs_tag1_t, cs_tag2_t>::value),
"Incompatible coordinate systems", "Incompatible coordinate systems",
@ -915,8 +911,8 @@ namespace resolve_dynamic {
template template
< <
typename GeometryIn, typename GeometryOut, typename GeometryIn, typename GeometryOut,
typename TagIn = typename tag<GeometryIn>::type, typename TagIn = tag_t<GeometryIn>,
typename TagOut = typename tag<GeometryOut>::type typename TagOut = tag_t<GeometryOut>
> >
struct simplify struct simplify
{ {

View File

@ -486,9 +486,9 @@ namespace resolve_collection
template template
< <
typename Geometry1, typename Geometry2, typename Collection, typename Geometry1, typename Geometry2, typename Collection,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type, typename Tag2 = geometry::tag_t<Geometry2>,
typename CollectionTag = typename geometry::tag<Collection>::type typename CollectionTag = geometry::tag_t<Collection>
> >
struct sym_difference struct sym_difference
{ {
@ -680,8 +680,8 @@ namespace resolve_dynamic
template template
< <
typename Geometry1, typename Geometry2, typename Geometry1, typename Geometry2,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type typename Tag2 = geometry::tag_t<Geometry2>
> >
struct sym_difference struct sym_difference
{ {

View File

@ -363,9 +363,9 @@ namespace resolve_collection
template template
< <
typename Geometry1, typename Geometry2, typename GeometryOut, typename Geometry1, typename Geometry2, typename GeometryOut,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type, typename Tag2 = geometry::tag_t<Geometry2>,
typename TagOut = typename geometry::tag<GeometryOut>::type typename TagOut = geometry::tag_t<GeometryOut>
> >
struct union_ struct union_
{ {
@ -720,8 +720,8 @@ namespace resolve_dynamic
template template
< <
typename Geometry1, typename Geometry2, typename Geometry1, typename Geometry2,
typename Tag1 = typename geometry::tag<Geometry1>::type, typename Tag1 = geometry::tag_t<Geometry1>,
typename Tag2 = typename geometry::tag<Geometry2>::type typename Tag2 = geometry::tag_t<Geometry2>
> >
struct union_ struct union_
{ {

View File

@ -102,7 +102,7 @@ namespace dispatch
template template
< <
typename Geometry, typename Geometry,
typename Tag = typename tag<Geometry>::type typename Tag = tag_t<Geometry>
> >
struct unique struct unique
{ {

Some files were not shown because too many files have changed in this diff Show More