From 7d4c687fd83c968bfdb7c97e66242b4fb1b2075d Mon Sep 17 00:00:00 2001 From: Barend Gehrels Date: Wed, 30 Oct 2024 15:44:17 +0100 Subject: [PATCH] chore: replace typename tag / cs_tag with tag_t / cs_tag_t --- include/boost/geometry/algorithms/azimuth.hpp | 4 +- include/boost/geometry/algorithms/crosses.hpp | 8 ++-- include/boost/geometry/algorithms/densify.hpp | 6 +-- .../detail/buffer/buffer_inserter.hpp | 5 +-- .../buffer/buffered_piece_collection.hpp | 2 +- .../detail/buffer/buffered_ring.hpp | 4 +- .../algorithms/detail/buffer/interface.hpp | 12 +++--- .../detail/calculate_point_order.hpp | 6 +-- .../closest_points/point_to_geometry.hpp | 6 +-- .../detail/comparable_distance/interface.hpp | 4 +- .../detail/convex_hull/interface.hpp | 8 ++-- .../detail/covered_by/interface.hpp | 8 ++-- .../algorithms/detail/direction_code.hpp | 2 +- .../detail/disjoint/linear_areal.hpp | 2 +- .../detail/disjoint/linear_linear.hpp | 4 +- .../detail/disjoint/linear_segment_or_box.hpp | 4 +- .../detail/disjoint/multipoint_geometry.hpp | 2 +- .../distance/geometry_to_segment_or_box.hpp | 8 ++-- .../algorithms/detail/distance/interface.hpp | 4 +- .../detail/distance/iterator_selector.hpp | 2 +- .../detail/distance/point_to_geometry.hpp | 9 ++-- .../algorithms/detail/dummy_geometries.hpp | 18 ++++---- .../algorithms/detail/envelope/interface.hpp | 2 +- .../detail/envelope/transform_units.hpp | 4 +- .../detail/equals/collect_vectors.hpp | 2 +- .../algorithms/detail/equals/interface.hpp | 4 +- .../algorithms/detail/expand/interface.hpp | 2 +- .../algorithms/detail/extreme_points.hpp | 2 +- .../algorithms/detail/for_each_range.hpp | 2 +- .../algorithms/detail/intersection/gc.hpp | 4 +- .../detail/intersection/interface.hpp | 14 +++---- .../is_simple/debug_print_boundary_points.hpp | 2 +- .../algorithms/detail/is_simple/linear.hpp | 2 +- .../detail/is_valid/debug_validity_phase.hpp | 2 +- .../is_valid/has_invalid_coordinate.hpp | 2 +- .../algorithms/detail/is_valid/interface.hpp | 2 +- .../detail/is_valid/is_acceptable_turn.hpp | 4 +- .../algorithms/detail/is_valid/polygon.hpp | 4 +- .../algorithms/detail/overlaps/interface.hpp | 8 ++-- .../algorithms/detail/overlay/add_rings.hpp | 6 +-- .../detail/overlay/assign_parents.hpp | 22 +++++----- .../detail/overlay/colocate_clusters.hpp | 2 +- .../detail/overlay/copy_segment_point.hpp | 6 +-- .../detail/overlay/copy_segments.hpp | 2 +- .../algorithms/detail/overlay/follow.hpp | 2 +- .../detail/overlay/follow_linear_linear.hpp | 2 +- .../overlay/get_intersection_points.hpp | 8 ++-- .../algorithms/detail/overlay/get_ring.hpp | 2 +- .../detail/overlay/get_turn_info_helpers.hpp | 14 +++---- .../algorithms/detail/overlay/get_turns.hpp | 25 +++++++---- .../detail/overlay/intersection_insert.hpp | 8 ++-- .../detail/overlay/linear_linear.hpp | 4 +- .../detail/overlay/needs_self_turns.hpp | 2 +- .../detail/overlay/pointlike_pointlike.hpp | 6 +-- .../detail/overlay/range_in_geometry.hpp | 4 +- .../detail/overlay/select_rings.hpp | 8 ++-- .../detail/overlay/self_turn_points.hpp | 2 +- .../detail/point_is_spike_or_equal.hpp | 2 +- .../algorithms/detail/point_on_border.hpp | 2 +- .../detail/relate/boundary_checker.hpp | 2 +- .../detail/relate/follow_helpers.hpp | 2 +- .../algorithms/detail/relate/interface.hpp | 8 ++-- .../detail/relate/multi_point_geometry.hpp | 2 +- .../algorithms/detail/relate/relate_impl.hpp | 4 +- .../detail/relate/topology_check.hpp | 2 +- .../algorithms/detail/relate/turns.hpp | 4 +- .../algorithms/detail/relation/interface.hpp | 4 +- .../detail/sections/range_by_section.hpp | 2 +- .../detail/sections/sectionalize.hpp | 2 +- .../detail/select_geometry_type.hpp | 2 +- .../geometry/algorithms/detail/sub_range.hpp | 2 +- .../algorithms/detail/touches/interface.hpp | 6 +-- .../algorithms/detail/tupled_output.hpp | 10 ++--- .../geometry/algorithms/detail/visit.hpp | 8 ++-- .../algorithms/detail/within/interface.hpp | 8 ++-- .../detail/within/point_in_geometry.hpp | 3 +- .../boost/geometry/algorithms/difference.hpp | 10 ++--- .../algorithms/discrete_frechet_distance.hpp | 4 +- .../discrete_hausdorff_distance.hpp | 4 +- .../geometry/algorithms/dispatch/envelope.hpp | 2 +- .../geometry/algorithms/dispatch/expand.hpp | 4 +- .../algorithms/dispatch/is_simple.hpp | 2 +- .../geometry/algorithms/dispatch/is_valid.hpp | 2 +- .../boost/geometry/algorithms/for_each.hpp | 2 +- .../boost/geometry/algorithms/is_convex.hpp | 4 +- .../boost/geometry/algorithms/is_empty.hpp | 4 +- include/boost/geometry/algorithms/length.hpp | 4 +- .../geometry/algorithms/line_interpolate.hpp | 4 +- include/boost/geometry/algorithms/make.hpp | 10 ++--- .../geometry/algorithms/merge_elements.hpp | 2 +- .../algorithms/num_interior_rings.hpp | 2 +- .../boost/geometry/algorithms/num_points.hpp | 2 +- .../geometry/algorithms/num_segments.hpp | 4 +- .../boost/geometry/algorithms/perimeter.hpp | 4 +- .../geometry/algorithms/remove_spikes.hpp | 2 +- include/boost/geometry/algorithms/reverse.hpp | 4 +- .../boost/geometry/algorithms/simplify.hpp | 20 ++++----- .../geometry/algorithms/sym_difference.hpp | 10 ++--- include/boost/geometry/algorithms/union.hpp | 10 ++--- include/boost/geometry/algorithms/unique.hpp | 2 +- .../boost/geometry/core/coordinate_system.hpp | 10 ++--- include/boost/geometry/core/cs.hpp | 28 ++++++------- include/boost/geometry/core/exterior_ring.hpp | 4 +- include/boost/geometry/core/geometry_id.hpp | 2 +- .../boost/geometry/core/geometry_types.hpp | 2 +- .../boost/geometry/core/interior_rings.hpp | 4 +- include/boost/geometry/core/interior_type.hpp | 4 +- include/boost/geometry/core/point_type.hpp | 8 ++-- include/boost/geometry/core/ring_type.hpp | 4 +- include/boost/geometry/core/tag.hpp | 2 +- include/boost/geometry/core/tags.hpp | 6 +-- .../geometry/core/topological_dimension.hpp | 2 +- .../geometry/formulas/authalic_radius_sqr.hpp | 2 +- .../geometry/formulas/eccentricity_sqr.hpp | 2 +- .../boost/geometry/formulas/flattening.hpp | 2 +- .../boost/geometry/formulas/mean_radius.hpp | 2 +- .../geometry/formulas/quarter_meridian.hpp | 2 +- .../geometries/adapted/boost_array.hpp | 4 +- .../geometries/adapted/boost_fusion.hpp | 2 +- .../geometries/adapted/boost_polygon/box.hpp | 2 +- .../adapted/boost_polygon/point.hpp | 2 +- .../adapted/boost_polygon/polygon.hpp | 2 +- .../geometries/adapted/boost_polygon/ring.hpp | 2 +- .../adapted/boost_polygon/ring_proxy.hpp | 2 +- .../adapted/boost_range/adjacent_filtered.hpp | 2 +- .../adapted/boost_range/filtered.hpp | 2 +- .../adapted/boost_range/reversed.hpp | 2 +- .../geometries/adapted/boost_range/sliced.hpp | 2 +- .../adapted/boost_range/strided.hpp | 2 +- .../adapted/boost_range/uniqued.hpp | 2 +- .../geometries/adapted/boost_tuple.hpp | 2 +- .../geometry/geometries/adapted/c_array.hpp | 4 +- .../geometry/geometries/adapted/std_array.hpp | 4 +- .../adapted/std_pair_as_segment.hpp | 2 +- include/boost/geometry/geometries/box.hpp | 2 +- .../geometries/concepts/concept_type.hpp | 2 +- .../concepts/geometry_collection_concept.hpp | 2 +- .../geometry/geometries/helper_geometry.hpp | 5 ++- .../boost/geometry/geometries/linestring.hpp | 2 +- .../geometry/geometries/multi_linestring.hpp | 2 +- .../boost/geometry/geometries/multi_point.hpp | 2 +- .../geometry/geometries/multi_polygon.hpp | 2 +- include/boost/geometry/geometries/point.hpp | 2 +- .../boost/geometry/geometries/point_xy.hpp | 2 +- .../boost/geometry/geometries/point_xyz.hpp | 2 +- .../geometry/geometries/pointing_segment.hpp | 2 +- include/boost/geometry/geometries/polygon.hpp | 2 +- .../geometry/geometries/register/box.hpp | 4 +- .../geometries/register/linestring.hpp | 4 +- .../geometries/register/multi_linestring.hpp | 4 +- .../geometries/register/multi_point.hpp | 4 +- .../geometries/register/multi_polygon.hpp | 4 +- .../geometry/geometries/register/ring.hpp | 4 +- .../geometry/geometries/register/segment.hpp | 4 +- include/boost/geometry/geometries/ring.hpp | 2 +- include/boost/geometry/geometries/segment.hpp | 4 +- .../index/detail/algorithms/bounds.hpp | 33 +++++++++------ .../comparable_distance_centroid.hpp | 15 +++---- .../algorithms/comparable_distance_far.hpp | 15 +++---- .../algorithms/comparable_distance_near.hpp | 15 +++---- .../index/detail/algorithms/content.hpp | 2 +- .../index/detail/algorithms/is_valid.hpp | 3 +- .../index/detail/algorithms/margin.hpp | 9 ++-- .../index/detail/algorithms/minmaxdist.hpp | 11 ++--- .../detail/algorithms/path_intersection.hpp | 18 ++++---- .../algorithms/segment_intersection.hpp | 5 ++- .../geometry/index/detail/bounded_view.hpp | 12 +++--- .../index/detail/is_bounding_geometry.hpp | 2 +- .../geometry/index/detail/is_indexable.hpp | 2 +- .../geometry/index/detail/predicates.hpp | 4 +- .../rtree/linear/redistribute_elements.hpp | 42 ++++++++++--------- .../rtree/rstar/redistribute_elements.hpp | 40 ++++++++++-------- .../index/detail/rtree/utilities/gl_draw.hpp | 9 ++-- .../index/detail/rtree/utilities/print.hpp | 9 ++-- include/boost/geometry/index/equal_to.hpp | 2 +- include/boost/geometry/io/dsv/write.hpp | 5 +-- include/boost/geometry/io/io.hpp | 2 +- include/boost/geometry/io/svg/svg_mapper.hpp | 2 +- include/boost/geometry/io/svg/write.hpp | 2 +- include/boost/geometry/io/wkt/read.hpp | 11 ++--- include/boost/geometry/io/wkt/write.hpp | 2 +- .../point_iterator/inner_range_type.hpp | 2 +- .../detail/point_iterator/iterator_type.hpp | 2 +- .../detail/segment_iterator/iterator_type.hpp | 2 +- .../detail/segment_iterator/value_type.hpp | 8 +--- .../iterators/dispatch/point_iterator.hpp | 4 +- .../iterators/dispatch/segment_iterator.hpp | 4 +- include/boost/geometry/srs/projection.hpp | 8 +--- .../boost/geometry/srs/projections/dpar.hpp | 4 +- .../srs/projections/impl/pj_ell_set.hpp | 8 ++-- include/boost/geometry/srs/transformation.hpp | 4 +- .../geometry/strategies/area/services.hpp | 2 +- .../geometry/strategies/azimuth/services.hpp | 4 +- .../geometry/strategies/buffer/services.hpp | 2 +- .../cartesian/distance_segment_box.hpp | 2 +- .../strategies/cartesian/intersection.hpp | 2 +- .../strategies/cartesian/point_in_point.hpp | 2 +- .../cartesian/point_in_poly_winding.hpp | 2 +- .../geometry/strategies/centroid/services.hpp | 2 +- .../strategies/closest_points/services.hpp | 4 +- .../strategies/convex_hull/services.hpp | 2 +- .../boost/geometry/strategies/covered_by.hpp | 4 +- .../geometry/strategies/densify/services.hpp | 2 +- include/boost/geometry/strategies/detail.hpp | 8 ++-- .../strategies/discrete_distance/services.hpp | 4 +- .../geometry/strategies/distance/services.hpp | 8 ++-- .../geometry/strategies/envelope/services.hpp | 2 +- .../geometry/strategies/expand/services.hpp | 2 +- .../geographic/distance_segment_box.hpp | 2 +- .../strategies/geographic/intersection.hpp | 2 +- .../geometry/strategies/geographic/side.hpp | 2 +- .../geometry/strategies/index/services.hpp | 2 +- .../boost/geometry/strategies/io/services.hpp | 2 +- .../strategies/is_convex/services.hpp | 2 +- .../geometry/strategies/length/services.hpp | 2 +- .../strategies/line_interpolate/services.hpp | 2 +- .../geometry/strategies/relate/services.hpp | 4 +- .../geometry/strategies/simplify/services.hpp | 2 +- .../geometry/strategies/spherical/compare.hpp | 7 +--- .../spherical/distance_segment_box.hpp | 4 +- .../strategies/spherical/get_radius.hpp | 2 +- .../strategies/spherical/intersection.hpp | 2 +- .../strategies/spherical/point_in_point.hpp | 2 +- .../spherical/point_in_poly_winding.hpp | 2 +- .../strategies/spherical/point_order.hpp | 7 +--- .../geometry/strategies/spherical/ssf.hpp | 2 +- .../geometry/strategy/cartesian/envelope.hpp | 2 +- .../strategy/cartesian/envelope_box.hpp | 2 +- .../strategy/cartesian/side_robust.hpp | 2 +- .../geometry/strategy/geographic/envelope.hpp | 2 +- include/boost/geometry/strategy/relate.hpp | 4 +- .../geometry/strategy/spherical/envelope.hpp | 2 +- .../strategy/spherical/envelope_box.hpp | 2 +- .../strategy/spherical/envelope_range.hpp | 2 +- .../strategy/spherical/envelope_segment.hpp | 2 +- include/boost/geometry/views/box_view.hpp | 2 +- .../detail/boundary_view/implementation.hpp | 4 +- .../views/detail/boundary_view/interface.hpp | 2 +- .../views/detail/two_dimensional_view.hpp | 4 +- include/boost/geometry/views/segment_view.hpp | 2 +- .../distance/distance_brute_force.hpp | 6 +-- test/test_common/test_point.hpp | 2 +- test/test_common/with_pointer.hpp | 2 +- .../test_geometries/all_custom_linestring.hpp | 2 +- test/test_geometries/all_custom_polygon.hpp | 2 +- test/test_geometries/all_custom_ring.hpp | 2 +- test/test_geometries/const_point.hpp | 4 +- .../copy_on_dereference_geometries.hpp | 4 +- test/test_geometries/custom_lon_lat_point.hpp | 4 +- test/test_geometries/wrapped_boost_array.hpp | 2 +- 250 files changed, 589 insertions(+), 594 deletions(-) diff --git a/include/boost/geometry/algorithms/azimuth.hpp b/include/boost/geometry/algorithms/azimuth.hpp index c0fc0ca4a..e7718e0b7 100644 --- a/include/boost/geometry/algorithms/azimuth.hpp +++ b/include/boost/geometry/algorithms/azimuth.hpp @@ -46,8 +46,8 @@ namespace dispatch template < typename Geometry1, typename Geometry2, - typename Tag1 = typename tag::type, - typename Tag2 = typename tag::type + typename Tag1 = tag_t, + typename Tag2 = tag_t > struct azimuth : not_implemented {}; diff --git a/include/boost/geometry/algorithms/crosses.hpp b/include/boost/geometry/algorithms/crosses.hpp index 040076d3d..5d44211dd 100644 --- a/include/boost/geometry/algorithms/crosses.hpp +++ b/include/boost/geometry/algorithms/crosses.hpp @@ -48,8 +48,8 @@ template < typename Geometry1, typename Geometry2, - typename Tag1 = typename tag::type, - typename Tag2 = typename tag::type + typename Tag1 = tag_t, + typename Tag2 = tag_t > struct crosses : detail::relate::relate_impl @@ -215,8 +215,8 @@ namespace resolve_dynamic template < typename Geometry1, typename Geometry2, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t > struct crosses { diff --git a/include/boost/geometry/algorithms/densify.hpp b/include/boost/geometry/algorithms/densify.hpp index 3af062ebd..8aa837500 100644 --- a/include/boost/geometry/algorithms/densify.hpp +++ b/include/boost/geometry/algorithms/densify.hpp @@ -170,8 +170,8 @@ template < typename Geometry, typename GeometryOut, - typename Tag1 = typename tag::type, - typename Tag2 = typename tag::type + typename Tag1 = tag_t, + typename Tag2 = tag_t > struct densify : not_implemented @@ -360,7 +360,7 @@ struct densify namespace resolve_dynamic { -template ::type> +template > struct densify { template diff --git a/include/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp b/include/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp index 1e6b798cd..46522bcde 100644 --- a/include/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp +++ b/include/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp @@ -873,10 +873,7 @@ struct buffer_inserter PolygonOutput, dispatch::buffer_inserter < - typename single_tag_of - < - typename tag::type - >::type, + typename single_tag_of>::type, typename boost::range_value::type, typename geometry::ring_type::type > diff --git a/include/boost/geometry/algorithms/detail/buffer/buffered_piece_collection.hpp b/include/boost/geometry/algorithms/detail/buffer/buffered_piece_collection.hpp index ac187ff7e..1a35c61df 100644 --- a/include/boost/geometry/algorithms/detail/buffer/buffered_piece_collection.hpp +++ b/include/boost/geometry/algorithms/detail/buffer/buffered_piece_collection.hpp @@ -447,7 +447,7 @@ struct buffered_piece_collection // Check if turns are inside pieces turn_in_piece_visitor < - typename geometry::cs_tag::type, + geometry::cs_tag_t, turn_vector_type, piece_vector_type, DistanceStrategy, Strategy > visitor(m_turns, m_pieces, m_distance_strategy, m_strategy); diff --git a/include/boost/geometry/algorithms/detail/buffer/buffered_ring.hpp b/include/boost/geometry/algorithms/detail/buffer/buffered_ring.hpp index 1dc313700..25141f93f 100644 --- a/include/boost/geometry/algorithms/detail/buffer/buffered_ring.hpp +++ b/include/boost/geometry/algorithms/detail/buffer/buffered_ring.hpp @@ -108,7 +108,7 @@ namespace traits template struct tag > { - typedef ring_tag type; + using type = ring_tag; }; @@ -177,7 +177,7 @@ struct point_order struct single_tag_of { - typedef ring_tag type; + using type = ring_tag; }; diff --git a/include/boost/geometry/algorithms/detail/buffer/interface.hpp b/include/boost/geometry/algorithms/detail/buffer/interface.hpp index d19abd6ef..c74cd179e 100644 --- a/include/boost/geometry/algorithms/detail/buffer/interface.hpp +++ b/include/boost/geometry/algorithms/detail/buffer/interface.hpp @@ -38,8 +38,8 @@ template < typename Input, typename Output, - typename TagIn = typename tag::type, - typename TagOut = typename tag::type + typename TagIn = tag_t, + typename TagOut = tag_t > struct buffer_dc : not_implemented {}; @@ -48,8 +48,8 @@ template < typename Input, typename Output, - typename TagIn = typename tag::type, - typename TagOut = typename tag::type + typename TagIn = tag_t, + typename TagOut = tag_t > struct buffer_all : not_implemented {}; @@ -64,7 +64,7 @@ namespace resolve_dynamic template < typename Input, - typename TagIn = typename geometry::tag::type + typename TagIn = geometry::tag_t > struct buffer_dc { @@ -101,7 +101,7 @@ struct buffer_dc template < typename Input, - typename TagIn = typename geometry::tag::type + typename TagIn = geometry::tag_t > struct buffer_all { diff --git a/include/boost/geometry/algorithms/detail/calculate_point_order.hpp b/include/boost/geometry/algorithms/detail/calculate_point_order.hpp index 5dc92a0cc..4c74c8145 100644 --- a/include/boost/geometry/algorithms/detail/calculate_point_order.hpp +++ b/include/boost/geometry/algorithms/detail/calculate_point_order.hpp @@ -345,10 +345,10 @@ inline geometry::order_selector calculate_point_order(Ring const& ring, Strategy template 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::type - >::type strategy_type; + geometry::cs_tag_t + >::type; concepts::check(); diff --git a/include/boost/geometry/algorithms/detail/closest_points/point_to_geometry.hpp b/include/boost/geometry/algorithms/detail/closest_points/point_to_geometry.hpp index 484fe683b..97e3c4ad4 100644 --- a/include/boost/geometry/algorithms/detail/closest_points/point_to_geometry.hpp +++ b/include/boost/geometry/algorithms/detail/closest_points/point_to_geometry.hpp @@ -253,7 +253,7 @@ template typename MultiGeometry, bool CheckCoveredBy = std::is_same < - typename tag::type, multi_polygon_tag + tag_t, multi_polygon_tag >::value > class point_to_multigeometry @@ -429,7 +429,7 @@ struct closest_points > : closest_points < Point, Linear, - point_tag, typename tag::type, false + point_tag, tag_t, false > {}; @@ -441,7 +441,7 @@ struct closest_points > : closest_points < Point, Areal, - point_tag, typename tag::type, false + point_tag, tag_t, false > {}; diff --git a/include/boost/geometry/algorithms/detail/comparable_distance/interface.hpp b/include/boost/geometry/algorithms/detail/comparable_distance/interface.hpp index d582dc925..582bec1b1 100644 --- a/include/boost/geometry/algorithms/detail/comparable_distance/interface.hpp +++ b/include/boost/geometry/algorithms/detail/comparable_distance/interface.hpp @@ -124,8 +124,8 @@ namespace resolve_dynamic template < typename Geometry1, typename Geometry2, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t > struct comparable_distance { diff --git a/include/boost/geometry/algorithms/detail/convex_hull/interface.hpp b/include/boost/geometry/algorithms/detail/convex_hull/interface.hpp index 905fd5dcb..60a5e37ac 100644 --- a/include/boost/geometry/algorithms/detail/convex_hull/interface.hpp +++ b/include/boost/geometry/algorithms/detail/convex_hull/interface.hpp @@ -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 ::type> +template > 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::type + typename Tag = tag_t > struct convex_hull { @@ -304,7 +304,7 @@ private: }; -template ::type> +template > struct convex_hull_out { BOOST_GEOMETRY_STATIC_ASSERT_FALSE("This OutputGeometry is not supported.", OutputGeometry, Tag); @@ -531,7 +531,7 @@ struct convex_hull namespace resolve_dynamic { -template ::type> +template > struct convex_hull { template diff --git a/include/boost/geometry/algorithms/detail/covered_by/interface.hpp b/include/boost/geometry/algorithms/detail/covered_by/interface.hpp index 048803438..2d45798eb 100644 --- a/include/boost/geometry/algorithms/detail/covered_by/interface.hpp +++ b/include/boost/geometry/algorithms/detail/covered_by/interface.hpp @@ -38,8 +38,8 @@ template < typename Geometry1, typename Geometry2, - typename Tag1 = typename tag::type, - typename Tag2 = typename tag::type + typename Tag1 = tag_t, + typename Tag2 = tag_t > struct covered_by : not_implemented @@ -122,8 +122,8 @@ namespace resolve_dynamic { template < typename Geometry1, typename Geometry2, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t > struct covered_by { diff --git a/include/boost/geometry/algorithms/detail/direction_code.hpp b/include/boost/geometry/algorithms/detail/direction_code.hpp index d256d2334..ba51da73d 100644 --- a/include/boost/geometry/algorithms/detail/direction_code.hpp +++ b/include/boost/geometry/algorithms/detail/direction_code.hpp @@ -249,7 +249,7 @@ struct direction_code_impl < std::is_same < - typename geometry::cs_tag::type, + geometry::cs_tag_t, spherical_polar_tag >::value, spherical_polar_tag, diff --git a/include/boost/geometry/algorithms/detail/disjoint/linear_areal.hpp b/include/boost/geometry/algorithms/detail/disjoint/linear_areal.hpp index b8648eb77..a4b86d397 100644 --- a/include/boost/geometry/algorithms/detail/disjoint/linear_areal.hpp +++ b/include/boost/geometry/algorithms/detail/disjoint/linear_areal.hpp @@ -130,7 +130,7 @@ template < typename Segment, typename Areal, - typename Tag = typename tag::type + typename Tag = tag_t > struct disjoint_segment_areal : not_implemented diff --git a/include/boost/geometry/algorithms/detail/disjoint/linear_linear.hpp b/include/boost/geometry/algorithms/detail/disjoint/linear_linear.hpp index fb47bca16..d71a9c960 100644 --- a/include/boost/geometry/algorithms/detail/disjoint/linear_linear.hpp +++ b/include/boost/geometry/algorithms/detail/disjoint/linear_linear.hpp @@ -111,8 +111,8 @@ struct disjoint_linear disjoint_interrupt_policy interrupt_policy; dispatch::get_turns < - typename geometry::tag::type, - typename geometry::tag::type, + geometry::tag_t, + geometry::tag_t, Geometry1, Geometry2, overlay::do_reverse::value>::value, // should be false diff --git a/include/boost/geometry/algorithms/detail/disjoint/linear_segment_or_box.hpp b/include/boost/geometry/algorithms/detail/disjoint/linear_segment_or_box.hpp index 25b91d3fe..795fe67c3 100644 --- a/include/boost/geometry/algorithms/detail/disjoint/linear_segment_or_box.hpp +++ b/include/boost/geometry/algorithms/detail/disjoint/linear_segment_or_box.hpp @@ -45,7 +45,7 @@ namespace detail { namespace disjoint template < typename SegmentOrBox, - typename Tag = typename tag::type + typename Tag = tag_t > struct disjoint_point_segment_or_box : not_implemented @@ -135,7 +135,7 @@ template < typename Linear, typename SegmentOrBox, - typename Tag = typename tag::type + typename Tag = tag_t > struct disjoint_linear_segment_or_box : not_implemented diff --git a/include/boost/geometry/algorithms/detail/disjoint/multipoint_geometry.hpp b/include/boost/geometry/algorithms/detail/disjoint/multipoint_geometry.hpp index 8fa9f8a0c..b352dadb2 100644 --- a/include/boost/geometry/algorithms/detail/disjoint/multipoint_geometry.hpp +++ b/include/boost/geometry/algorithms/detail/disjoint/multipoint_geometry.hpp @@ -461,7 +461,7 @@ public: }; -template ::type> +template > struct multipoint_areal : multi_point_single_geometry {}; diff --git a/include/boost/geometry/algorithms/detail/distance/geometry_to_segment_or_box.hpp b/include/boost/geometry/algorithms/detail/distance/geometry_to_segment_or_box.hpp index a01275717..1c285d9ec 100644 --- a/include/boost/geometry/algorithms/detail/distance/geometry_to_segment_or_box.hpp +++ b/include/boost/geometry/algorithms/detail/distance/geometry_to_segment_or_box.hpp @@ -51,7 +51,7 @@ namespace detail { namespace distance template < typename SegmentOrBox, - typename Tag = typename tag::type + typename Tag = tag_t > struct segment_or_box_point_range_closure : not_implemented @@ -76,7 +76,7 @@ template typename Geometry, typename SegmentOrBox, typename Strategies, - typename Tag = typename tag::type + typename Tag = tag_t > class geometry_to_segment_or_box { @@ -97,7 +97,7 @@ private: template < typename SegOrBox, - typename SegOrBoxTag = typename tag::type + typename SegOrBoxTag = tag_t > struct assign_new_min_iterator : not_implemented @@ -128,7 +128,7 @@ private: < typename SegOrBox, typename PointRange, - typename SegOrBoxTag = typename tag::type + typename SegOrBoxTag = tag_t > struct assign_segment_or_box_points {}; diff --git a/include/boost/geometry/algorithms/detail/distance/interface.hpp b/include/boost/geometry/algorithms/detail/distance/interface.hpp index f903c5cee..024e9d6ef 100644 --- a/include/boost/geometry/algorithms/detail/distance/interface.hpp +++ b/include/boost/geometry/algorithms/detail/distance/interface.hpp @@ -187,8 +187,8 @@ namespace resolve_dynamic template < typename Geometry1, typename Geometry2, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t > struct distance { diff --git a/include/boost/geometry/algorithms/detail/distance/iterator_selector.hpp b/include/boost/geometry/algorithms/detail/distance/iterator_selector.hpp index 363ec465a..6a34c9940 100644 --- a/include/boost/geometry/algorithms/detail/distance/iterator_selector.hpp +++ b/include/boost/geometry/algorithms/detail/distance/iterator_selector.hpp @@ -27,7 +27,7 @@ namespace detail { namespace distance // class to choose between point_iterator and segment_iterator -template ::type> +template > struct iterator_selector { typedef geometry::segment_iterator iterator_type; diff --git a/include/boost/geometry/algorithms/detail/distance/point_to_geometry.hpp b/include/boost/geometry/algorithms/detail/distance/point_to_geometry.hpp index 08c8f7059..6fc96d167 100644 --- a/include/boost/geometry/algorithms/detail/distance/point_to_geometry.hpp +++ b/include/boost/geometry/algorithms/detail/distance/point_to_geometry.hpp @@ -315,10 +315,7 @@ template typename Point, typename MultiGeometry, typename Strategies, - bool CheckCoveredBy = std::is_same - < - typename tag::type, multi_polygon_tag - >::value + bool CheckCoveredBy = std::is_same, multi_polygon_tag>::value > class point_to_multigeometry { @@ -509,7 +506,7 @@ struct distance > : distance < Point, Linear, Strategy, - point_tag, typename tag::type, + point_tag, tag_t, strategy_tag_distance_point_segment, false > {}; @@ -523,7 +520,7 @@ struct distance > : distance < Point, Areal, Strategy, - point_tag, typename tag::type, + point_tag, tag_t, strategy_tag_distance_point_segment, false > {}; diff --git a/include/boost/geometry/algorithms/detail/dummy_geometries.hpp b/include/boost/geometry/algorithms/detail/dummy_geometries.hpp index 722e6546a..ef2e30bff 100644 --- a/include/boost/geometry/algorithms/detail/dummy_geometries.hpp +++ b/include/boost/geometry/algorithms/detail/dummy_geometries.hpp @@ -39,15 +39,15 @@ struct dummy_multi_polygon {}; namespace traits { -template <> struct tag { typedef point_tag type; }; -template <> struct tag { typedef segment_tag type; }; -template <> struct tag { typedef box_tag type; }; -template <> struct tag { typedef linestring_tag type; }; -template <> struct tag { typedef ring_tag type; }; -template <> struct tag { typedef polygon_tag type; }; -template <> struct tag { typedef multi_point_tag type; }; -template <> struct tag { typedef multi_linestring_tag type; }; -template <> struct tag { typedef multi_polygon_tag type; }; +template <> struct tag { using type = point_tag; }; +template <> struct tag { using type = segment_tag; }; +template <> struct tag { using type = box_tag; }; +template <> struct tag { using type = linestring_tag; }; +template <> struct tag { using type = ring_tag; }; +template <> struct tag { using type = polygon_tag; }; +template <> struct tag { using type = multi_point_tag; }; +template <> struct tag { using type = multi_linestring_tag; }; +template <> struct tag { using type = multi_polygon_tag; }; } // namespace traits diff --git a/include/boost/geometry/algorithms/detail/envelope/interface.hpp b/include/boost/geometry/algorithms/detail/envelope/interface.hpp index 70679dd91..a86e9c859 100644 --- a/include/boost/geometry/algorithms/detail/envelope/interface.hpp +++ b/include/boost/geometry/algorithms/detail/envelope/interface.hpp @@ -100,7 +100,7 @@ struct envelope namespace resolve_dynamic { -template ::type> +template > struct envelope { template diff --git a/include/boost/geometry/algorithms/detail/envelope/transform_units.hpp b/include/boost/geometry/algorithms/detail/envelope/transform_units.hpp index 790f6e386..dffa7cab3 100644 --- a/include/boost/geometry/algorithms/detail/envelope/transform_units.hpp +++ b/include/boost/geometry/algorithms/detail/envelope/transform_units.hpp @@ -37,8 +37,8 @@ template < typename GeometryIn, typename GeometryOut, - typename TagIn = typename tag::type, - typename TagOut = typename tag::type + typename TagIn = tag_t, + typename TagOut = tag_t > struct transform_units_impl : not_implemented diff --git a/include/boost/geometry/algorithms/detail/equals/collect_vectors.hpp b/include/boost/geometry/algorithms/detail/equals/collect_vectors.hpp index e9b250252..0f510b5fc 100644 --- a/include/boost/geometry/algorithms/detail/equals/collect_vectors.hpp +++ b/include/boost/geometry/algorithms/detail/equals/collect_vectors.hpp @@ -504,7 +504,7 @@ inline void collect_vectors(Collection& collection, Geometry const& geometry) dispatch::collect_vectors < - typename tag::type, + tag_t, Collection, Geometry >::apply(collection, geometry); diff --git a/include/boost/geometry/algorithms/detail/equals/interface.hpp b/include/boost/geometry/algorithms/detail/equals/interface.hpp index 5590a8d88..2b9058ab0 100644 --- a/include/boost/geometry/algorithms/detail/equals/interface.hpp +++ b/include/boost/geometry/algorithms/detail/equals/interface.hpp @@ -159,8 +159,8 @@ namespace resolve_dynamic { template < typename Geometry1, typename Geometry2, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t > struct equals { diff --git a/include/boost/geometry/algorithms/detail/expand/interface.hpp b/include/boost/geometry/algorithms/detail/expand/interface.hpp index 6552c266e..e530e6386 100644 --- a/include/boost/geometry/algorithms/detail/expand/interface.hpp +++ b/include/boost/geometry/algorithms/detail/expand/interface.hpp @@ -101,7 +101,7 @@ struct expand namespace resolve_dynamic { -template ::type> +template > struct expand { template diff --git a/include/boost/geometry/algorithms/detail/extreme_points.hpp b/include/boost/geometry/algorithms/detail/extreme_points.hpp index 55d533965..370e45aed 100644 --- a/include/boost/geometry/algorithms/detail/extreme_points.hpp +++ b/include/boost/geometry/algorithms/detail/extreme_points.hpp @@ -393,7 +393,7 @@ template < typename Geometry, std::size_t Dimension, - typename GeometryTag = typename tag::type + typename GeometryTag = tag_t > struct extreme_points {}; diff --git a/include/boost/geometry/algorithms/detail/for_each_range.hpp b/include/boost/geometry/algorithms/detail/for_each_range.hpp index 30b209dc6..5ea414b58 100644 --- a/include/boost/geometry/algorithms/detail/for_each_range.hpp +++ b/include/boost/geometry/algorithms/detail/for_each_range.hpp @@ -133,7 +133,7 @@ namespace dispatch template < typename Geometry, - typename Tag = typename tag::type + typename Tag = tag_t > struct for_each_range { diff --git a/include/boost/geometry/algorithms/detail/intersection/gc.hpp b/include/boost/geometry/algorithms/detail/intersection/gc.hpp index d47d4c05b..eb945d1de 100644 --- a/include/boost/geometry/algorithms/detail/intersection/gc.hpp +++ b/include/boost/geometry/algorithms/detail/intersection/gc.hpp @@ -44,8 +44,8 @@ struct gc_can_convert_element template using has_same_tag_as_single = std::is_same < - typename geometry::tag::type, - typename geometry::tag::type>::type + geometry::tag_t, + geometry::tag_t::type> >; using gc_types = typename traits::geometry_types::type; using found_type = typename util::sequence_find_if::type; diff --git a/include/boost/geometry/algorithms/detail/intersection/interface.hpp b/include/boost/geometry/algorithms/detail/intersection/interface.hpp index 8c4a00876..7a9a190e6 100644 --- a/include/boost/geometry/algorithms/detail/intersection/interface.hpp +++ b/include/boost/geometry/algorithms/detail/intersection/interface.hpp @@ -37,8 +37,8 @@ namespace dispatch template < typename Geometry1, typename Geometry2, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type, + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t, bool Reverse = reverse_dispatch::type::value > struct intersection @@ -109,9 +109,9 @@ namespace resolve_collection template < typename Geometry1, typename Geometry2, typename GeometryOut, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type, - typename TagOut = typename geometry::tag::type + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t, + typename TagOut = geometry::tag_t > struct intersection { @@ -216,8 +216,8 @@ namespace resolve_dynamic template < typename Geometry1, typename Geometry2, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t > struct intersection { diff --git a/include/boost/geometry/algorithms/detail/is_simple/debug_print_boundary_points.hpp b/include/boost/geometry/algorithms/detail/is_simple/debug_print_boundary_points.hpp index 720f5b651..bd0f191ce 100644 --- a/include/boost/geometry/algorithms/detail/is_simple/debug_print_boundary_points.hpp +++ b/include/boost/geometry/algorithms/detail/is_simple/debug_print_boundary_points.hpp @@ -43,7 +43,7 @@ namespace detail { namespace is_simple #ifdef BOOST_GEOMETRY_TEST_DEBUG -template ::type> +template > struct debug_boundary_points_printer : not_implemented {}; diff --git a/include/boost/geometry/algorithms/detail/is_simple/linear.hpp b/include/boost/geometry/algorithms/detail/is_simple/linear.hpp index 8c91e0c9f..c9d31ac0b 100644 --- a/include/boost/geometry/algorithms/detail/is_simple/linear.hpp +++ b/include/boost/geometry/algorithms/detail/is_simple/linear.hpp @@ -80,7 +80,7 @@ template < typename Geometry, typename Strategy, - typename Tag = typename tag::type + typename Tag = tag_t > class is_acceptable_turn : not_implemented diff --git a/include/boost/geometry/algorithms/detail/is_valid/debug_validity_phase.hpp b/include/boost/geometry/algorithms/detail/is_valid/debug_validity_phase.hpp index b072f7ad4..10b125d8e 100644 --- a/include/boost/geometry/algorithms/detail/is_valid/debug_validity_phase.hpp +++ b/include/boost/geometry/algorithms/detail/is_valid/debug_validity_phase.hpp @@ -24,7 +24,7 @@ namespace boost { namespace geometry namespace detail { namespace is_valid { -template ::type> +template > struct debug_validity_phase { static inline void apply(int) diff --git a/include/boost/geometry/algorithms/detail/is_valid/has_invalid_coordinate.hpp b/include/boost/geometry/algorithms/detail/is_valid/has_invalid_coordinate.hpp index 222870672..35a48ec51 100644 --- a/include/boost/geometry/algorithms/detail/is_valid/has_invalid_coordinate.hpp +++ b/include/boost/geometry/algorithms/detail/is_valid/has_invalid_coordinate.hpp @@ -106,7 +106,7 @@ struct range_has_invalid_coordinate template < typename Geometry, - typename Tag = typename tag::type, + typename Tag = tag_t, bool HasFloatingPointCoordinates = std::is_floating_point < coordinate_type_t diff --git a/include/boost/geometry/algorithms/detail/is_valid/interface.hpp b/include/boost/geometry/algorithms/detail/is_valid/interface.hpp index 53576d20c..49acc24d4 100644 --- a/include/boost/geometry/algorithms/detail/is_valid/interface.hpp +++ b/include/boost/geometry/algorithms/detail/is_valid/interface.hpp @@ -92,7 +92,7 @@ struct is_valid namespace resolve_dynamic { -template ::type> +template > struct is_valid { template diff --git a/include/boost/geometry/algorithms/detail/is_valid/is_acceptable_turn.hpp b/include/boost/geometry/algorithms/detail/is_valid/is_acceptable_turn.hpp index 4aad18881..e08185fb6 100644 --- a/include/boost/geometry/algorithms/detail/is_valid/is_acceptable_turn.hpp +++ b/include/boost/geometry/algorithms/detail/is_valid/is_acceptable_turn.hpp @@ -33,7 +33,7 @@ template < typename Geometry, order_selector Order = geometry::point_order::value, - typename Tag = typename tag::type + typename Tag = tag_t > struct acceptable_operation {}; @@ -69,7 +69,7 @@ struct acceptable_operation -template ::type> +template > struct is_acceptable_turn {}; diff --git a/include/boost/geometry/algorithms/detail/is_valid/polygon.hpp b/include/boost/geometry/algorithms/detail/is_valid/polygon.hpp index a02ce3193..fdbc6a32c 100644 --- a/include/boost/geometry/algorithms/detail/is_valid/polygon.hpp +++ b/include/boost/geometry/algorithms/detail/is_valid/polygon.hpp @@ -453,10 +453,10 @@ public: else // else prevents unreachable code warning { // compute turns and check if all are acceptable - typedef debug_validity_phase debug_phase; + using debug_phase = debug_validity_phase; debug_phase::apply(3); - typedef has_valid_self_turns has_valid_turns; + using has_valid_turns = has_valid_self_turns; std::deque turns; bool has_invalid_turns diff --git a/include/boost/geometry/algorithms/detail/overlaps/interface.hpp b/include/boost/geometry/algorithms/detail/overlaps/interface.hpp index bc2cfb517..a443beb03 100644 --- a/include/boost/geometry/algorithms/detail/overlaps/interface.hpp +++ b/include/boost/geometry/algorithms/detail/overlaps/interface.hpp @@ -46,8 +46,8 @@ template < typename Geometry1, typename Geometry2, - typename Tag1 = typename tag::type, - typename Tag2 = typename tag::type + typename Tag1 = tag_t, + typename Tag2 = tag_t > struct overlaps : detail::relate::relate_impl @@ -131,8 +131,8 @@ namespace resolve_dynamic template < typename Geometry1, typename Geometry2, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t > struct overlaps { diff --git a/include/boost/geometry/algorithms/detail/overlay/add_rings.hpp b/include/boost/geometry/algorithms/detail/overlay/add_rings.hpp index 026906b49..e177c33ff 100644 --- a/include/boost/geometry/algorithms/detail/overlay/add_rings.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/add_rings.hpp @@ -48,9 +48,9 @@ inline void convert_and_add(GeometryOut& result, ring_identifier id, bool reversed, bool append) { - typedef typename geometry::tag::type tag1; - typedef typename geometry::tag::type tag2; - typedef typename geometry::tag::type tag_out; + using tag1 = geometry::tag_t; + using tag2 = geometry::tag_t; + using tag_out = geometry::tag_t; if (id.source_index == 0) { diff --git a/include/boost/geometry/algorithms/detail/overlay/assign_parents.hpp b/include/boost/geometry/algorithms/detail/overlay/assign_parents.hpp index 73e3bdb28..1d60a4695 100644 --- a/include/boost/geometry/algorithms/detail/overlay/assign_parents.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/assign_parents.hpp @@ -57,8 +57,8 @@ static inline bool within_selected_input(Item const& item2, RingCollection const& collection, Strategy const& strategy) { - typedef typename geometry::tag::type tag1; - typedef typename geometry::tag::type tag2; + using tag1 = geometry::tag_t; + using tag2 = geometry::tag_t; // 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::type tag1; - typedef typename geometry::tag::type tag2; + using tag1 = geometry::tag_t; + using tag2 = geometry::tag_t; 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::type tag1; - typedef typename geometry::tag::type tag2; + using tag1 = geometry::tag_t; + using tag2 = geometry::tag_t; - typedef typename RingMap::mapped_type ring_info_type; - typedef typename ring_info_type::point_type point_type; - typedef model::box 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; + 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(); diff --git a/include/boost/geometry/algorithms/detail/overlay/colocate_clusters.hpp b/include/boost/geometry/algorithms/detail/overlay/colocate_clusters.hpp index 99742f2a6..330ef3463 100644 --- a/include/boost/geometry/algorithms/detail/overlay/colocate_clusters.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/colocate_clusters.hpp @@ -26,7 +26,7 @@ template < typename Point, typename CoordinateType = geometry::coordinate_type_t, - typename CsTag = typename geometry::cs_tag::type, + typename CsTag = geometry::cs_tag_t, bool IsIntegral = std::is_integral::value > struct cluster_colocator diff --git a/include/boost/geometry/algorithms/detail/overlay/copy_segment_point.hpp b/include/boost/geometry/algorithms/detail/overlay/copy_segment_point.hpp index ad5d2f5cd..836a94bb3 100644 --- a/include/boost/geometry/algorithms/detail/overlay/copy_segment_point.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/copy_segment_point.hpp @@ -288,7 +288,7 @@ inline bool copy_segment_point(Geometry const& geometry, return dispatch::copy_segment_point < - typename tag::type, + tag_t, 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::type, + tag_t, 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::type, + tag_t, Geometry2, Reverse2, SegmentIdentifier, diff --git a/include/boost/geometry/algorithms/detail/overlay/copy_segments.hpp b/include/boost/geometry/algorithms/detail/overlay/copy_segments.hpp index f6a70648a..d33b5f195 100644 --- a/include/boost/geometry/algorithms/detail/overlay/copy_segments.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/copy_segments.hpp @@ -349,7 +349,7 @@ inline void copy_segments(Geometry const& geometry, dispatch::copy_segments < - typename tag::type, + tag_t, Reverse >::apply(geometry, seg_id, to_index, strategy, range_out); } diff --git a/include/boost/geometry/algorithms/detail/overlay/follow.hpp b/include/boost/geometry/algorithms/detail/overlay/follow.hpp index 133f1c93f..e9c9aef46 100644 --- a/include/boost/geometry/algorithms/detail/overlay/follow.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/follow.hpp @@ -164,7 +164,7 @@ inline bool is_touching(Turn const& turn, Operation const& op, template < typename GeometryOut, - typename Tag = typename geometry::tag::type + typename Tag = geometry::tag_t > struct add_isolated_point {}; diff --git a/include/boost/geometry/algorithms/detail/overlay/follow_linear_linear.hpp b/include/boost/geometry/algorithms/detail/overlay/follow_linear_linear.hpp index 1a6cd2800..bcac7da2e 100644 --- a/include/boost/geometry/algorithms/detail/overlay/follow_linear_linear.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/follow_linear_linear.hpp @@ -499,7 +499,7 @@ template overlay_type OverlayType, bool FollowIsolatedPoints, bool FollowContinueTurns, - typename TagIn1 = typename tag::type + typename TagIn1 = tag_t > struct follow : not_implemented diff --git a/include/boost/geometry/algorithms/detail/overlay/get_intersection_points.hpp b/include/boost/geometry/algorithms/detail/overlay/get_intersection_points.hpp index 9085387c1..99753bfbd 100644 --- a/include/boost/geometry/algorithms/detail/overlay/get_intersection_points.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/get_intersection_points.hpp @@ -110,16 +110,16 @@ inline void get_intersection_points(Geometry1 const& geometry1, reverse_dispatch::type::value, dispatch::get_turns_reversed < - typename tag::type, - typename tag::type, + tag_t, + tag_t, Geometry1, Geometry2, false, false, TurnPolicy >, dispatch::get_turns < - typename tag::type, - typename tag::type, + tag_t, + tag_t, Geometry1, Geometry2, false, false, TurnPolicy diff --git a/include/boost/geometry/algorithms/detail/overlay/get_ring.hpp b/include/boost/geometry/algorithms/detail/overlay/get_ring.hpp index f93cb23f5..646efe383 100644 --- a/include/boost/geometry/algorithms/detail/overlay/get_ring.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/get_ring.hpp @@ -122,7 +122,7 @@ template inline signed_size_type segment_count_on_ring(Geometry const& geometry, ring_identifier const& ring_id) { - using tag = typename geometry::tag::type; + using tag = geometry::tag_t; // A closed polygon, a triangle of 4 points, including starting point, // contains 3 segments. So handle as if it is closed, and subtract one. diff --git a/include/boost/geometry/algorithms/detail/overlay/get_turn_info_helpers.hpp b/include/boost/geometry/algorithms/detail/overlay/get_turn_info_helpers.hpp index 4ef747f01..78288e685 100644 --- a/include/boost/geometry/algorithms/detail/overlay/get_turn_info_helpers.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/get_turn_info_helpers.hpp @@ -167,18 +167,18 @@ class intersection_info : public intersection_info_base { - typedef intersection_info_base base; + using base = intersection_info_base; 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, diff --git a/include/boost/geometry/algorithms/detail/overlay/get_turns.hpp b/include/boost/geometry/algorithms/detail/overlay/get_turns.hpp index 787a9a91c..581ad9795 100644 --- a/include/boost/geometry/algorithms/detail/overlay/get_turns.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/get_turns.hpp @@ -815,9 +815,15 @@ struct topological_tag_base using type = tag_cast_t, pointlike_tag, linear_tag, areal_tag>; }; -template ::type, typename Tag2 = typename tag::type, - typename TagBase1 = typename topological_tag_base::type, typename TagBase2 = typename topological_tag_base::type> +template +< + typename Geometry1, typename Geometry2, + typename AssignPolicy, + typename Tag1 = tag_t, + typename Tag2 = tag_t, + typename TagBase1 = typename topological_tag_base::type, + typename TagBase2 = typename topological_tag_base::type +> struct get_turn_info_type : overlay::get_turn_info {}; @@ -833,8 +839,9 @@ struct get_turn_info_type::type, typename Tag2 = typename tag::type, - typename TagBase1 = typename topological_tag_base::type, typename TagBase2 = typename topological_tag_base::type> + typename Tag1 = tag_t, typename Tag2 = tag_t, + typename TagBase1 = typename topological_tag_base::type, + typename TagBase2 = typename topological_tag_base::type> struct turn_operation_type { using type = overlay::turn_operation; @@ -1017,16 +1024,16 @@ inline void get_turns(Geometry1 const& geometry1, reverse_dispatch::type::value, dispatch::get_turns_reversed < - typename tag::type, - typename tag::type, + tag_t, + tag_t, Geometry1, Geometry2, Reverse1, Reverse2, TurnPolicy >, dispatch::get_turns < - typename tag::type, - typename tag::type, + tag_t, + tag_t, Geometry1, Geometry2, Reverse1, Reverse2, TurnPolicy diff --git a/include/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp b/include/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp index 510bfe29f..ce54f17f5 100644 --- a/include/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp @@ -313,8 +313,8 @@ struct intersection_of_linestring_with_areal dispatch::get_turns < - typename geometry::tag::type, - typename geometry::tag::type, + geometry::tag_t, + geometry::tag_t, LineString, Areal, false, @@ -443,8 +443,8 @@ struct intersection_linear_areal_point dispatch::get_turns < - typename geometry::tag::type, - typename geometry::tag::type, + geometry::tag_t, + geometry::tag_t, Geometry1, Geometry2, false, diff --git a/include/boost/geometry/algorithms/detail/overlay/linear_linear.hpp b/include/boost/geometry/algorithms/detail/overlay/linear_linear.hpp index 75ff47432..61ed6025f 100644 --- a/include/boost/geometry/algorithms/detail/overlay/linear_linear.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/linear_linear.hpp @@ -252,7 +252,7 @@ public: LinestringOut, OverlayType, Linear1, - typename tag::type + tag_t >::apply(linear1, oit); } @@ -299,7 +299,7 @@ struct linear_linear_linestring LinestringOut, overlay_difference, Linear1, - typename tag::type + tag_t >::apply(linear1, oit); return linear_linear_linestring diff --git a/include/boost/geometry/algorithms/detail/overlay/needs_self_turns.hpp b/include/boost/geometry/algorithms/detail/overlay/needs_self_turns.hpp index 85a6f9604..826a26e25 100644 --- a/include/boost/geometry/algorithms/detail/overlay/needs_self_turns.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/needs_self_turns.hpp @@ -31,7 +31,7 @@ namespace detail { namespace overlay template < typename Geometry, - typename Tag = typename tag::type + typename Tag = tag_t > struct needs_self_turns { diff --git a/include/boost/geometry/algorithms/detail/overlay/pointlike_pointlike.hpp b/include/boost/geometry/algorithms/detail/overlay/pointlike_pointlike.hpp index 1745bcf43..834373755 100644 --- a/include/boost/geometry/algorithms/detail/overlay/pointlike_pointlike.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/pointlike_pointlike.hpp @@ -53,7 +53,7 @@ template < typename PointOut, typename GeometryIn, - typename TagIn = typename tag::type + typename TagIn = tag_t > struct copy_points : not_implemented @@ -421,8 +421,8 @@ struct union_pointlike_pointlike_point return detail_dispatch::overlay::pointlike_pointlike_point < PointLike2, PointLike1, PointOut, overlay_difference, - typename tag::type, - typename tag::type + tag_t, + tag_t >::apply(pointlike2, pointlike1, oit, strategy); } diff --git a/include/boost/geometry/algorithms/detail/overlay/range_in_geometry.hpp b/include/boost/geometry/algorithms/detail/overlay/range_in_geometry.hpp index 6eb07553f..2e4d3764d 100644 --- a/include/boost/geometry/algorithms/detail/overlay/range_in_geometry.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/range_in_geometry.hpp @@ -29,7 +29,7 @@ namespace detail { namespace overlay template < typename Geometry, - typename Tag = typename geometry::tag::type + typename Tag = geometry::tag_t > struct points_range { @@ -80,7 +80,7 @@ struct points_range template < typename Geometry, - typename Tag = typename geometry::tag::type + typename Tag = geometry::tag_t > struct point_in_geometry_helper { diff --git a/include/boost/geometry/algorithms/detail/overlay/select_rings.hpp b/include/boost/geometry/algorithms/detail/overlay/select_rings.hpp index 58371606e..0d2f7cdc2 100644 --- a/include/boost/geometry/algorithms/detail/overlay/select_rings.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/select_rings.hpp @@ -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::type tag1; - typedef typename geometry::tag::type tag2; + using tag1 = geometry::tag_t; + using tag2 = geometry::tag_t; RingPropertyMap all_ring_properties; dispatch::select_rings::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::type tag; - RingPropertyMap all_ring_properties; - dispatch::select_rings::apply(geometry, + dispatch::select_rings, Geometry>::apply(geometry, ring_identifier(0, -1, -1), all_ring_properties, strategy); diff --git a/include/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp b/include/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp index d52c5c9e0..072f49554 100644 --- a/include/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp @@ -288,7 +288,7 @@ struct self_get_turn_points dispatch::self_get_turn_points < Reverse, - typename tag::type, + tag_t, Geometry, turn_policy >::apply(geometry, strategies, turns, interrupt_policy, diff --git a/include/boost/geometry/algorithms/detail/point_is_spike_or_equal.hpp b/include/boost/geometry/algorithms/detail/point_is_spike_or_equal.hpp index 2b86d3c6b..0958fe51d 100644 --- a/include/boost/geometry/algorithms/detail/point_is_spike_or_equal.hpp +++ b/include/boost/geometry/algorithms/detail/point_is_spike_or_equal.hpp @@ -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) diff --git a/include/boost/geometry/algorithms/detail/point_on_border.hpp b/include/boost/geometry/algorithms/detail/point_on_border.hpp index 8b3a20a16..4bb02da65 100644 --- a/include/boost/geometry/algorithms/detail/point_on_border.hpp +++ b/include/boost/geometry/algorithms/detail/point_on_border.hpp @@ -214,7 +214,7 @@ inline bool point_on_border(Point& point, Geometry const& geometry) return dispatch::point_on_border < - typename tag::type + tag_t >::apply(point, geometry); } diff --git a/include/boost/geometry/algorithms/detail/relate/boundary_checker.hpp b/include/boost/geometry/algorithms/detail/relate/boundary_checker.hpp index d513ec319..5b66269d3 100644 --- a/include/boost/geometry/algorithms/detail/relate/boundary_checker.hpp +++ b/include/boost/geometry/algorithms/detail/relate/boundary_checker.hpp @@ -42,7 +42,7 @@ template < typename Geometry, typename Strategy, - typename Tag = typename geometry::tag::type + typename Tag = geometry::tag_t > class boundary_checker {}; diff --git a/include/boost/geometry/algorithms/detail/relate/follow_helpers.hpp b/include/boost/geometry/algorithms/detail/relate/follow_helpers.hpp index 7bea32274..0a67642f0 100644 --- a/include/boost/geometry/algorithms/detail/relate/follow_helpers.hpp +++ b/include/boost/geometry/algorithms/detail/relate/follow_helpers.hpp @@ -47,7 +47,7 @@ template < std::size_t OpId, typename Geometry, - typename Tag = typename geometry::tag::type, + typename Tag = geometry::tag_t, bool IsMulti = util::is_multi::value > struct for_each_disjoint_geometry_if diff --git a/include/boost/geometry/algorithms/detail/relate/interface.hpp b/include/boost/geometry/algorithms/detail/relate/interface.hpp index 19568a870..ca14ecfe7 100644 --- a/include/boost/geometry/algorithms/detail/relate/interface.hpp +++ b/include/boost/geometry/algorithms/detail/relate/interface.hpp @@ -62,8 +62,8 @@ namespace dispatch { template ::type, - typename Tag2 = typename geometry::tag::type, + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t, int TopDim1 = geometry::topological_dimension::value, int TopDim2 = geometry::topological_dimension::value, bool IsGeneric = detail::relate::is_generic::value @@ -231,8 +231,8 @@ namespace resolve_dynamic template < typename Geometry1, typename Geometry2, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t > struct relate { diff --git a/include/boost/geometry/algorithms/detail/relate/multi_point_geometry.hpp b/include/boost/geometry/algorithms/detail/relate/multi_point_geometry.hpp index 8d6fe39a5..f4abbfff3 100644 --- a/include/boost/geometry/algorithms/detail/relate/multi_point_geometry.hpp +++ b/include/boost/geometry/algorithms/detail/relate/multi_point_geometry.hpp @@ -51,7 +51,7 @@ namespace detail { namespace relate template < typename Geometry, - typename Tag = typename tag::type + typename Tag = tag_t > struct multi_point_geometry_eb { diff --git a/include/boost/geometry/algorithms/detail/relate/relate_impl.hpp b/include/boost/geometry/algorithms/detail/relate/relate_impl.hpp index 52d3f6e0f..722638d52 100644 --- a/include/boost/geometry/algorithms/detail/relate/relate_impl.hpp +++ b/include/boost/geometry/algorithms/detail/relate/relate_impl.hpp @@ -43,8 +43,8 @@ struct relate_impl_base >::value, not_implemented < - typename geometry::tag::type, - typename geometry::tag::type + geometry::tag_t, + geometry::tag_t >, implemented_tag > diff --git a/include/boost/geometry/algorithms/detail/relate/topology_check.hpp b/include/boost/geometry/algorithms/detail/relate/topology_check.hpp index 03d381f52..4ded59ad4 100644 --- a/include/boost/geometry/algorithms/detail/relate/topology_check.hpp +++ b/include/boost/geometry/algorithms/detail/relate/topology_check.hpp @@ -34,7 +34,7 @@ template < typename Geometry, typename Strategy, - typename Tag = typename geometry::tag::type + typename Tag = geometry::tag_t > struct topology_check : not_implemented diff --git a/include/boost/geometry/algorithms/detail/relate/turns.hpp b/include/boost/geometry/algorithms/detail/relate/turns.hpp index 6426d275c..868b1761d 100644 --- a/include/boost/geometry/algorithms/detail/relate/turns.hpp +++ b/include/boost/geometry/algorithms/detail/relate/turns.hpp @@ -94,8 +94,8 @@ struct get_turns dispatch::get_turns < - typename geometry::tag::type, - typename geometry::tag::type, + geometry::tag_t, + geometry::tag_t, Geometry1, Geometry2, reverse1, diff --git a/include/boost/geometry/algorithms/detail/relation/interface.hpp b/include/boost/geometry/algorithms/detail/relation/interface.hpp index 4c3616ab4..95b146fdc 100644 --- a/include/boost/geometry/algorithms/detail/relation/interface.hpp +++ b/include/boost/geometry/algorithms/detail/relation/interface.hpp @@ -41,8 +41,8 @@ namespace resolve_dynamic template < typename Geometry1, typename Geometry2, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t > struct relation { diff --git a/include/boost/geometry/algorithms/detail/sections/range_by_section.hpp b/include/boost/geometry/algorithms/detail/sections/range_by_section.hpp index fd029db1b..e16fdd890 100644 --- a/include/boost/geometry/algorithms/detail/sections/range_by_section.hpp +++ b/include/boost/geometry/algorithms/detail/sections/range_by_section.hpp @@ -178,7 +178,7 @@ inline typename ring_return_type::type return dispatch::range_by_section < - typename tag::type, + tag_t, Geometry, Section >::apply(geometry, section); diff --git a/include/boost/geometry/algorithms/detail/sections/sectionalize.hpp b/include/boost/geometry/algorithms/detail/sections/sectionalize.hpp index 880300894..c2ab77af9 100644 --- a/include/boost/geometry/algorithms/detail/sections/sectionalize.hpp +++ b/include/boost/geometry/algorithms/detail/sections/sectionalize.hpp @@ -872,7 +872,7 @@ inline void sectionalize(Geometry const& geometry, dispatch::sectionalize < - typename tag::type, + tag_t, Geometry, Reverse, DimensionVector diff --git a/include/boost/geometry/algorithms/detail/select_geometry_type.hpp b/include/boost/geometry/algorithms/detail/select_geometry_type.hpp index 5592fa5c4..d2c38ce53 100644 --- a/include/boost/geometry/algorithms/detail/select_geometry_type.hpp +++ b/include/boost/geometry/algorithms/detail/select_geometry_type.hpp @@ -25,7 +25,7 @@ namespace detail { -template ::type> +template > struct first_geometry_type { using type = Geometry; diff --git a/include/boost/geometry/algorithms/detail/sub_range.hpp b/include/boost/geometry/algorithms/detail/sub_range.hpp index c1ae9fefb..23efb5bc2 100644 --- a/include/boost/geometry/algorithms/detail/sub_range.hpp +++ b/include/boost/geometry/algorithms/detail/sub_range.hpp @@ -37,7 +37,7 @@ namespace detail_dispatch { template < typename Geometry, - typename Tag = typename geometry::tag::type, + typename Tag = geometry::tag_t, bool IsMulti = util::is_multi::value > struct sub_range : not_implemented diff --git a/include/boost/geometry/algorithms/detail/touches/interface.hpp b/include/boost/geometry/algorithms/detail/touches/interface.hpp index b7f6f10b1..5bdb26a97 100644 --- a/include/boost/geometry/algorithms/detail/touches/interface.hpp +++ b/include/boost/geometry/algorithms/detail/touches/interface.hpp @@ -149,8 +149,8 @@ namespace resolve_dynamic { template < typename Geometry1, typename Geometry2, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t > struct touches { @@ -228,7 +228,7 @@ struct touches } }; -template ::type> +template > struct self_touches; template diff --git a/include/boost/geometry/algorithms/detail/tupled_output.hpp b/include/boost/geometry/algorithms/detail/tupled_output.hpp index d13793e73..1188b5c09 100644 --- a/include/boost/geometry/algorithms/detail/tupled_output.hpp +++ b/include/boost/geometry/algorithms/detail/tupled_output.hpp @@ -117,8 +117,7 @@ template struct tupled_output_find_index_pred { template - struct pred - : std::is_same::type, Tag> + struct pred : std::is_same, Tag> {}; }; @@ -360,8 +359,7 @@ template struct is_tag_same_as_pred { template - struct pred - : std::is_same::type, Tag> + struct pred : std::is_same, Tag> {}; }; @@ -374,7 +372,7 @@ template typename GeometryOut, typename Tag, typename DefaultTag, - typename GeometryTag = typename geometry::tag::type + typename GeometryTag = geometry::tag_t > struct output_geometry_access {}; @@ -474,7 +472,7 @@ struct setop_insert_output_tag < geometry::detail::is_tupled_single_output::value, tupled_output_tag, - typename geometry::tag::type + geometry::tag_t > {}; diff --git a/include/boost/geometry/algorithms/detail/visit.hpp b/include/boost/geometry/algorithms/detail/visit.hpp index 7cbf9e231..5d41ddc27 100644 --- a/include/boost/geometry/algorithms/detail/visit.hpp +++ b/include/boost/geometry/algorithms/detail/visit.hpp @@ -30,7 +30,7 @@ namespace boost { namespace geometry namespace dispatch { -template ::type> +template > struct visit_one { template @@ -65,8 +65,8 @@ struct visit_one template < typename Geometry1, typename Geometry2, - typename Tag1 = typename tag::type, - typename Tag2 = typename tag::type + typename Tag1 = tag_t, + typename Tag2 = tag_t > struct visit_two { @@ -144,7 +144,7 @@ struct visit_two::type> +template > struct visit_breadth_first { template diff --git a/include/boost/geometry/algorithms/detail/within/interface.hpp b/include/boost/geometry/algorithms/detail/within/interface.hpp index 572e0e5c9..a0c4ed4c6 100644 --- a/include/boost/geometry/algorithms/detail/within/interface.hpp +++ b/include/boost/geometry/algorithms/detail/within/interface.hpp @@ -46,8 +46,8 @@ template < typename Geometry1, typename Geometry2, - typename Tag1 = typename tag::type, - typename Tag2 = typename tag::type + typename Tag1 = tag_t, + typename Tag2 = tag_t > struct within : not_implemented @@ -130,8 +130,8 @@ namespace resolve_dynamic template < typename Geometry1, typename Geometry2, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t > struct within { diff --git a/include/boost/geometry/algorithms/detail/within/point_in_geometry.hpp b/include/boost/geometry/algorithms/detail/within/point_in_geometry.hpp index 356411dac..4b195a85b 100644 --- a/include/boost/geometry/algorithms/detail/within/point_in_geometry.hpp +++ b/include/boost/geometry/algorithms/detail/within/point_in_geometry.hpp @@ -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 ::type> +template > struct point_in_geometry : not_implemented {}; diff --git a/include/boost/geometry/algorithms/difference.hpp b/include/boost/geometry/algorithms/difference.hpp index 2d18b3142..98cb7ce53 100644 --- a/include/boost/geometry/algorithms/difference.hpp +++ b/include/boost/geometry/algorithms/difference.hpp @@ -332,9 +332,9 @@ namespace resolve_collection template < typename Geometry1, typename Geometry2, typename Collection, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type, - typename CollectionTag = typename geometry::tag::type + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t, + typename CollectionTag = geometry::tag_t > struct difference { @@ -577,8 +577,8 @@ namespace resolve_dynamic template < typename Geometry1, typename Geometry2, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t > struct difference { diff --git a/include/boost/geometry/algorithms/discrete_frechet_distance.hpp b/include/boost/geometry/algorithms/discrete_frechet_distance.hpp index aff351550..44e0b9dce 100644 --- a/include/boost/geometry/algorithms/discrete_frechet_distance.hpp +++ b/include/boost/geometry/algorithms/discrete_frechet_distance.hpp @@ -145,8 +145,8 @@ template < typename Geometry1, typename Geometry2, - typename Tag1 = typename tag::type, - typename Tag2 = typename tag::type + typename Tag1 = tag_t, + typename Tag2 = tag_t > struct discrete_frechet_distance : not_implemented {}; diff --git a/include/boost/geometry/algorithms/discrete_hausdorff_distance.hpp b/include/boost/geometry/algorithms/discrete_hausdorff_distance.hpp index 88c5bb3a0..fd2e88845 100644 --- a/include/boost/geometry/algorithms/discrete_hausdorff_distance.hpp +++ b/include/boost/geometry/algorithms/discrete_hausdorff_distance.hpp @@ -215,8 +215,8 @@ template < typename Geometry1, typename Geometry2, - typename Tag1 = typename tag::type, - typename Tag2 = typename tag::type + typename Tag1 = tag_t, + typename Tag2 = tag_t > struct discrete_hausdorff_distance : not_implemented {}; diff --git a/include/boost/geometry/algorithms/dispatch/envelope.hpp b/include/boost/geometry/algorithms/dispatch/envelope.hpp index bfe0f0d44..29d730c3b 100644 --- a/include/boost/geometry/algorithms/dispatch/envelope.hpp +++ b/include/boost/geometry/algorithms/dispatch/envelope.hpp @@ -36,7 +36,7 @@ namespace dispatch template < typename Geometry, - typename Tag = typename tag::type + typename Tag = tag_t > struct envelope : not_implemented {}; diff --git a/include/boost/geometry/algorithms/dispatch/expand.hpp b/include/boost/geometry/algorithms/dispatch/expand.hpp index 204bbc6ce..8dd930501 100644 --- a/include/boost/geometry/algorithms/dispatch/expand.hpp +++ b/include/boost/geometry/algorithms/dispatch/expand.hpp @@ -40,8 +40,8 @@ namespace dispatch template < typename GeometryOut, typename Geometry, - typename TagOut = typename tag::type, - typename Tag = typename tag::type + typename TagOut = tag_t, + typename Tag = tag_t > struct expand : not_implemented {}; diff --git a/include/boost/geometry/algorithms/dispatch/is_simple.hpp b/include/boost/geometry/algorithms/dispatch/is_simple.hpp index 2ac92256b..48f9257d6 100644 --- a/include/boost/geometry/algorithms/dispatch/is_simple.hpp +++ b/include/boost/geometry/algorithms/dispatch/is_simple.hpp @@ -23,7 +23,7 @@ namespace dispatch { -template ::type> +template > struct is_simple : not_implemented {}; diff --git a/include/boost/geometry/algorithms/dispatch/is_valid.hpp b/include/boost/geometry/algorithms/dispatch/is_valid.hpp index 5d8108655..0947a1713 100644 --- a/include/boost/geometry/algorithms/dispatch/is_valid.hpp +++ b/include/boost/geometry/algorithms/dispatch/is_valid.hpp @@ -26,7 +26,7 @@ namespace dispatch template < typename Geometry, - typename Tag = typename tag::type, + typename Tag = tag_t, // for multi-geometries: determines if empty multi-geometries are allowed bool AllowEmptyMultiGeometries = true > diff --git a/include/boost/geometry/algorithms/for_each.hpp b/include/boost/geometry/algorithms/for_each.hpp index a1fd0a6cc..ee65045d6 100644 --- a/include/boost/geometry/algorithms/for_each.hpp +++ b/include/boost/geometry/algorithms/for_each.hpp @@ -427,7 +427,7 @@ struct for_each_point template < typename Geometry, - typename Tag = typename tag::type + typename Tag = tag_t > struct for_each_segment: not_implemented {}; diff --git a/include/boost/geometry/algorithms/is_convex.hpp b/include/boost/geometry/algorithms/is_convex.hpp index c5aef2ecb..a42d1f4b6 100644 --- a/include/boost/geometry/algorithms/is_convex.hpp +++ b/include/boost/geometry/algorithms/is_convex.hpp @@ -154,7 +154,7 @@ namespace dispatch template < typename Geometry, - typename Tag = typename tag::type + typename Tag = tag_t > struct is_convex { @@ -264,7 +264,7 @@ struct is_convex namespace resolve_dynamic { -template ::type> +template > struct is_convex { template diff --git a/include/boost/geometry/algorithms/is_empty.hpp b/include/boost/geometry/algorithms/is_empty.hpp index ddb7faaf8..508f6c18c 100644 --- a/include/boost/geometry/algorithms/is_empty.hpp +++ b/include/boost/geometry/algorithms/is_empty.hpp @@ -94,7 +94,7 @@ struct multi_is_empty namespace dispatch { -template ::type> +template > struct is_empty : not_implemented {}; @@ -150,7 +150,7 @@ struct is_empty namespace resolve_dynamic { -template ::type> +template > struct is_empty { static inline bool apply(Geometry const& geometry) diff --git a/include/boost/geometry/algorithms/length.hpp b/include/boost/geometry/algorithms/length.hpp index a79e78dd7..fd8cf1591 100644 --- a/include/boost/geometry/algorithms/length.hpp +++ b/include/boost/geometry/algorithms/length.hpp @@ -116,7 +116,7 @@ namespace dispatch { -template ::type> +template > struct length : detail::calculate_null { typedef typename default_length_result::type return_type; @@ -220,7 +220,7 @@ struct length namespace resolve_dynamic { -template ::type> +template > struct length { template diff --git a/include/boost/geometry/algorithms/line_interpolate.hpp b/include/boost/geometry/algorithms/line_interpolate.hpp index 9afbe5092..289c08ce5 100644 --- a/include/boost/geometry/algorithms/line_interpolate.hpp +++ b/include/boost/geometry/algorithms/line_interpolate.hpp @@ -187,8 +187,8 @@ template < typename Geometry, typename Pointlike, - typename Tag1 = typename tag::type, - typename Tag2 = typename tag::type + typename Tag1 = tag_t, + typename Tag2 = tag_t > struct line_interpolate { diff --git a/include/boost/geometry/algorithms/make.hpp b/include/boost/geometry/algorithms/make.hpp index 40cc5c0e4..c32db36ab 100644 --- a/include/boost/geometry/algorithms/make.hpp +++ b/include/boost/geometry/algorithms/make.hpp @@ -94,7 +94,7 @@ inline Geometry make(Type const& c1, Type const& c2) Geometry geometry; dispatch::assign < - typename tag::type, + tag_t, Geometry, geometry::dimension::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::type, + tag_t, Geometry, geometry::dimension::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::type, + tag_t, Geometry, geometry::dimension::type::value >::apply(geometry, c1, c2, c3, c4); @@ -217,7 +217,7 @@ inline Geometry make_inverse() Geometry geometry; dispatch::assign_inverse < - typename tag::type, + tag_t, Geometry >::apply(geometry); return geometry; @@ -238,7 +238,7 @@ inline Geometry make_zero() Geometry geometry; dispatch::assign_zero < - typename tag::type, + tag_t, Geometry >::apply(geometry); return geometry; diff --git a/include/boost/geometry/algorithms/merge_elements.hpp b/include/boost/geometry/algorithms/merge_elements.hpp index 83ea5ca95..c08695ebe 100644 --- a/include/boost/geometry/algorithms/merge_elements.hpp +++ b/include/boost/geometry/algorithms/merge_elements.hpp @@ -346,7 +346,7 @@ namespace dispatch { -template ::type> +template > struct merge_elements : not_implemented {}; diff --git a/include/boost/geometry/algorithms/num_interior_rings.hpp b/include/boost/geometry/algorithms/num_interior_rings.hpp index 1cf90a81e..4d62c045f 100644 --- a/include/boost/geometry/algorithms/num_interior_rings.hpp +++ b/include/boost/geometry/algorithms/num_interior_rings.hpp @@ -46,7 +46,7 @@ namespace dispatch { -template ::type> +template > struct num_interior_rings : detail::counting::other_count<0> {}; diff --git a/include/boost/geometry/algorithms/num_points.hpp b/include/boost/geometry/algorithms/num_points.hpp index 6a59c2bb5..ad2e37e70 100644 --- a/include/boost/geometry/algorithms/num_points.hpp +++ b/include/boost/geometry/algorithms/num_points.hpp @@ -139,7 +139,7 @@ struct num_points namespace resolve_dynamic { -template ::type> +template > struct num_points { static inline std::size_t apply(Geometry const& geometry, bool add_for_open) diff --git a/include/boost/geometry/algorithms/num_segments.hpp b/include/boost/geometry/algorithms/num_segments.hpp index d73a8b4fc..6eb84b1d0 100644 --- a/include/boost/geometry/algorithms/num_segments.hpp +++ b/include/boost/geometry/algorithms/num_segments.hpp @@ -66,7 +66,7 @@ struct range_count namespace dispatch { -template ::type> +template > struct num_segments : not_implemented {}; @@ -140,7 +140,7 @@ namespace resolve_dynamic { -template ::type> +template > struct num_segments { static inline std::size_t apply(Geometry const& geometry) diff --git a/include/boost/geometry/algorithms/perimeter.hpp b/include/boost/geometry/algorithms/perimeter.hpp index 3b7f7e693..900258904 100644 --- a/include/boost/geometry/algorithms/perimeter.hpp +++ b/include/boost/geometry/algorithms/perimeter.hpp @@ -51,7 +51,7 @@ namespace dispatch { // Default perimeter is 0.0, specializations implement calculated values -template ::type> +template > struct perimeter : detail::calculate_null { typedef typename default_length_result::type return_type; @@ -163,7 +163,7 @@ struct perimeter namespace resolve_dynamic { -template ::type> +template > struct perimeter { template diff --git a/include/boost/geometry/algorithms/remove_spikes.hpp b/include/boost/geometry/algorithms/remove_spikes.hpp index 48880a503..e2c8a3593 100644 --- a/include/boost/geometry/algorithms/remove_spikes.hpp +++ b/include/boost/geometry/algorithms/remove_spikes.hpp @@ -206,7 +206,7 @@ namespace dispatch template < typename Geometry, - typename Tag = typename tag::type + typename Tag = tag_t > struct remove_spikes { diff --git a/include/boost/geometry/algorithms/reverse.hpp b/include/boost/geometry/algorithms/reverse.hpp index 307f8294f..9e125283f 100644 --- a/include/boost/geometry/algorithms/reverse.hpp +++ b/include/boost/geometry/algorithms/reverse.hpp @@ -79,7 +79,7 @@ namespace dispatch { -template ::type> +template > struct reverse { static inline void apply(Geometry&) @@ -125,7 +125,7 @@ struct reverse namespace resolve_dynamic { -template ::type> +template > struct reverse { static void apply(Geometry& geometry) diff --git a/include/boost/geometry/algorithms/simplify.hpp b/include/boost/geometry/algorithms/simplify.hpp index c73bd7d73..5299a3b6d 100644 --- a/include/boost/geometry/algorithms/simplify.hpp +++ b/include/boost/geometry/algorithms/simplify.hpp @@ -653,11 +653,7 @@ struct has_same_tag_as { template struct pred - : std::is_same - < - typename geometry::tag::type, - typename geometry::tag::type - > + : std::is_same, geometry::tag_t> {}; }; @@ -689,8 +685,8 @@ template < typename GeometryIn, typename GeometryOut, - typename TagIn = typename tag::type, - typename TagOut = typename tag::type + typename TagIn = tag_t, + typename TagOut = tag_t > struct simplify: not_implemented {}; @@ -751,7 +747,7 @@ struct simplify::type + typename Tag = tag_t > struct simplify_insert: not_implemented {}; @@ -826,8 +822,8 @@ struct simplify default_strategy) { // NOTE: Alternatively take two geometry types in default_strategy - using cs_tag1_t = typename geometry::cs_tag::type; - using cs_tag2_t = typename geometry::cs_tag::type; + using cs_tag1_t = geometry::cs_tag_t; + using cs_tag2_t = geometry::cs_tag_t; BOOST_GEOMETRY_STATIC_ASSERT( (std::is_same::value), "Incompatible coordinate systems", @@ -915,8 +911,8 @@ namespace resolve_dynamic { template < typename GeometryIn, typename GeometryOut, - typename TagIn = typename tag::type, - typename TagOut = typename tag::type + typename TagIn = tag_t, + typename TagOut = tag_t > struct simplify { diff --git a/include/boost/geometry/algorithms/sym_difference.hpp b/include/boost/geometry/algorithms/sym_difference.hpp index b55075006..0ed7d16a3 100644 --- a/include/boost/geometry/algorithms/sym_difference.hpp +++ b/include/boost/geometry/algorithms/sym_difference.hpp @@ -486,9 +486,9 @@ namespace resolve_collection template < typename Geometry1, typename Geometry2, typename Collection, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type, - typename CollectionTag = typename geometry::tag::type + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t, + typename CollectionTag = geometry::tag_t > struct sym_difference { @@ -680,8 +680,8 @@ namespace resolve_dynamic template < typename Geometry1, typename Geometry2, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t > struct sym_difference { diff --git a/include/boost/geometry/algorithms/union.hpp b/include/boost/geometry/algorithms/union.hpp index 3deced91d..494e700ee 100644 --- a/include/boost/geometry/algorithms/union.hpp +++ b/include/boost/geometry/algorithms/union.hpp @@ -363,9 +363,9 @@ namespace resolve_collection template < typename Geometry1, typename Geometry2, typename GeometryOut, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type, - typename TagOut = typename geometry::tag::type + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t, + typename TagOut = geometry::tag_t > struct union_ { @@ -720,8 +720,8 @@ namespace resolve_dynamic template < typename Geometry1, typename Geometry2, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type + typename Tag1 = geometry::tag_t, + typename Tag2 = geometry::tag_t > struct union_ { diff --git a/include/boost/geometry/algorithms/unique.hpp b/include/boost/geometry/algorithms/unique.hpp index c868e5d24..d1f132ea0 100644 --- a/include/boost/geometry/algorithms/unique.hpp +++ b/include/boost/geometry/algorithms/unique.hpp @@ -102,7 +102,7 @@ namespace dispatch template < typename Geometry, - typename Tag = typename tag::type + typename Tag = tag_t > struct unique { diff --git a/include/boost/geometry/core/coordinate_system.hpp b/include/boost/geometry/core/coordinate_system.hpp index cebdbc2e6..c980d82ac 100644 --- a/include/boost/geometry/core/coordinate_system.hpp +++ b/include/boost/geometry/core/coordinate_system.hpp @@ -58,20 +58,20 @@ namespace core_dispatch template struct coordinate_system { - typedef typename point_type::type P; + using P = typename point_type::type; // Call its own specialization on point-tag - typedef typename coordinate_system::type type; + using type = typename coordinate_system::type; }; template struct coordinate_system { - typedef typename traits::coordinate_system + using type = typename traits::coordinate_system < - typename util::remove_cptrref::type - >::type type; + util::remove_cptrref_t + >::type; }; diff --git a/include/boost/geometry/core/cs.hpp b/include/boost/geometry/core/cs.hpp index e6bc4e34f..197e86dbb 100644 --- a/include/boost/geometry/core/cs.hpp +++ b/include/boost/geometry/core/cs.hpp @@ -194,33 +194,33 @@ struct cs_tag template struct cs_tag > { - typedef geographic_tag type; + using type = geographic_tag; }; template struct cs_tag > { - typedef spherical_polar_tag type; + using type = spherical_polar_tag; }; template struct cs_tag > { - typedef spherical_equatorial_tag type; + using type = spherical_equatorial_tag; }; template<> struct cs_tag { - typedef cartesian_tag type; + using type = cartesian_tag; }; template <> struct cs_tag { - typedef cs_undefined_tag type; + using type = cs_undefined_tag; }; #endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS @@ -255,7 +255,7 @@ namespace traits template struct cs_angular_units { - typedef geometry::radian type; + using type = geometry::radian; }; #ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS @@ -263,19 +263,19 @@ struct cs_angular_units template struct cs_angular_units > { - typedef DegreeOrRadian type; + using type = DegreeOrRadian; }; template struct cs_angular_units > { - typedef DegreeOrRadian type; + using type = DegreeOrRadian; }; template struct cs_angular_units > { - typedef DegreeOrRadian type; + using type = DegreeOrRadian; }; #endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS @@ -313,31 +313,31 @@ struct cs_tag_to_coordinate_system template struct cs_tag_to_coordinate_system { - typedef cs::undefined type; + using type = cs::undefined; }; template struct cs_tag_to_coordinate_system { - typedef cs::cartesian type; + using type = cs::cartesian; }; template struct cs_tag_to_coordinate_system { - typedef cs::spherical_equatorial type; + using type = cs::spherical_equatorial; }; template struct cs_tag_to_coordinate_system { - typedef cs::spherical type; + using type = cs::spherical; }; template struct cs_tag_to_coordinate_system { - typedef cs::geographic type; + using type = cs::geographic; }; diff --git a/include/boost/geometry/core/exterior_ring.hpp b/include/boost/geometry/core/exterior_ring.hpp index 3e99aa4d2..717467914 100644 --- a/include/boost/geometry/core/exterior_ring.hpp +++ b/include/boost/geometry/core/exterior_ring.hpp @@ -104,7 +104,7 @@ inline typename ring_return_type::type exterior_ring(Polygon& polygon) { return core_dispatch::exterior_ring < - typename tag::type, + tag_t, Polygon >::apply(polygon); } @@ -126,7 +126,7 @@ inline typename ring_return_type::type exterior_ring( { return core_dispatch::exterior_ring < - typename tag::type, + tag_t, Polygon const >::apply(polygon); } diff --git a/include/boost/geometry/core/geometry_id.hpp b/include/boost/geometry/core/geometry_id.hpp index ed2a238c6..b237aa2d8 100644 --- a/include/boost/geometry/core/geometry_id.hpp +++ b/include/boost/geometry/core/geometry_id.hpp @@ -100,7 +100,7 @@ struct geometry_id : std::integral_constant {} \ingroup core */ template -struct geometry_id : core_dispatch::geometry_id::type> +struct geometry_id : core_dispatch::geometry_id> {}; diff --git a/include/boost/geometry/core/geometry_types.hpp b/include/boost/geometry/core/geometry_types.hpp index d64b9b862..50a11f4b7 100644 --- a/include/boost/geometry/core/geometry_types.hpp +++ b/include/boost/geometry/core/geometry_types.hpp @@ -32,7 +32,7 @@ struct geometry_types; namespace traits_dispatch { -template ::type> +template > struct geometry_types { BOOST_GEOMETRY_STATIC_ASSERT_FALSE( diff --git a/include/boost/geometry/core/interior_rings.hpp b/include/boost/geometry/core/interior_rings.hpp index b8b5c6280..7d6b82d0b 100644 --- a/include/boost/geometry/core/interior_rings.hpp +++ b/include/boost/geometry/core/interior_rings.hpp @@ -117,7 +117,7 @@ inline typename interior_return_type::type interior_rings(Polygon& poly { return core_dispatch::interior_rings < - typename tag::type, + tag_t, Polygon >::apply(polygon); } @@ -139,7 +139,7 @@ inline typename interior_return_type::type interior_rings( { return core_dispatch::interior_rings < - typename tag::type, + tag_t, Polygon const >::apply(polygon); } diff --git a/include/boost/geometry/core/interior_type.hpp b/include/boost/geometry/core/interior_type.hpp index d7879d292..5daa7f476 100644 --- a/include/boost/geometry/core/interior_type.hpp +++ b/include/boost/geometry/core/interior_type.hpp @@ -134,7 +134,7 @@ struct interior_type { typedef typename core_dispatch::interior_type < - typename tag::type, + tag_t, Geometry >::type type; }; @@ -144,7 +144,7 @@ struct interior_return_type { typedef typename core_dispatch::interior_return_type < - typename tag::type, + tag_t, Geometry >::type type; }; diff --git a/include/boost/geometry/core/point_type.hpp b/include/boost/geometry/core/point_type.hpp index ccb259c16..07bcc771a 100644 --- a/include/boost/geometry/core/point_type.hpp +++ b/include/boost/geometry/core/point_type.hpp @@ -149,8 +149,8 @@ struct point_type >::type; using type = typename point_type < - typename tag::type, - typename util::remove_cptrref::type + tag_t, + util::remove_cptrref_t >::type; }; @@ -164,8 +164,8 @@ struct point_type >::type; using type = typename point_type < - typename tag::type, - typename util::remove_cptrref::type + tag_t, + util::remove_cptrref_t >::type; }; diff --git a/include/boost/geometry/core/ring_type.hpp b/include/boost/geometry/core/ring_type.hpp index eea52ec3f..43a6ae819 100644 --- a/include/boost/geometry/core/ring_type.hpp +++ b/include/boost/geometry/core/ring_type.hpp @@ -204,7 +204,7 @@ struct ring_type { using type = typename core_dispatch::ring_type < - typename tag::type, + tag_t, Geometry >::type; }; @@ -218,7 +218,7 @@ struct ring_return_type { using type = typename core_dispatch::ring_return_type < - typename tag::type, + tag_t, Geometry >::type; }; diff --git a/include/boost/geometry/core/tag.hpp b/include/boost/geometry/core/tag.hpp index 196741562..c8424eb63 100644 --- a/include/boost/geometry/core/tag.hpp +++ b/include/boost/geometry/core/tag.hpp @@ -38,7 +38,7 @@ namespace traits \par Geometries: - all geometries \par Specializations should provide: - - typedef XXX_tag type; (point_tag, box_tag, ...) + - using type = XXX_tag; (point_tag, box_tag, ...) \tparam Geometry geometry */ template diff --git a/include/boost/geometry/core/tags.hpp b/include/boost/geometry/core/tags.hpp index f0d62783b..88422e4e0 100644 --- a/include/boost/geometry/core/tags.hpp +++ b/include/boost/geometry/core/tags.hpp @@ -135,19 +135,19 @@ struct single_tag_of template <> struct single_tag_of { - typedef point_tag type; + using type = point_tag; }; template <> struct single_tag_of { - typedef linestring_tag type; + using type = linestring_tag; }; template <> struct single_tag_of { - typedef polygon_tag type; + using type = polygon_tag; }; #endif diff --git a/include/boost/geometry/core/topological_dimension.hpp b/include/boost/geometry/core/topological_dimension.hpp index c1c750246..9bb644f29 100644 --- a/include/boost/geometry/core/topological_dimension.hpp +++ b/include/boost/geometry/core/topological_dimension.hpp @@ -100,7 +100,7 @@ struct top_dim : std::integral_constant {}; */ template struct topological_dimension - : core_dispatch::top_dim::type> {}; + : core_dispatch::top_dim> {}; #ifndef BOOST_NO_CXX17_INLINE_VARIABLES diff --git a/include/boost/geometry/formulas/authalic_radius_sqr.hpp b/include/boost/geometry/formulas/authalic_radius_sqr.hpp index 54da31761..75dd08926 100644 --- a/include/boost/geometry/formulas/authalic_radius_sqr.hpp +++ b/include/boost/geometry/formulas/authalic_radius_sqr.hpp @@ -30,7 +30,7 @@ namespace boost { namespace geometry namespace formula_dispatch { -template ::type> +template > struct authalic_radius_sqr : not_implemented {}; diff --git a/include/boost/geometry/formulas/eccentricity_sqr.hpp b/include/boost/geometry/formulas/eccentricity_sqr.hpp index 1608a8570..75479b379 100644 --- a/include/boost/geometry/formulas/eccentricity_sqr.hpp +++ b/include/boost/geometry/formulas/eccentricity_sqr.hpp @@ -26,7 +26,7 @@ namespace boost { namespace geometry namespace formula_dispatch { -template ::type> +template > struct eccentricity_sqr : not_implemented {}; diff --git a/include/boost/geometry/formulas/flattening.hpp b/include/boost/geometry/formulas/flattening.hpp index f94ead65b..98f498b69 100644 --- a/include/boost/geometry/formulas/flattening.hpp +++ b/include/boost/geometry/formulas/flattening.hpp @@ -24,7 +24,7 @@ namespace boost { namespace geometry namespace formula_dispatch { -template ::type> +template > struct flattening : not_implemented {}; diff --git a/include/boost/geometry/formulas/mean_radius.hpp b/include/boost/geometry/formulas/mean_radius.hpp index 83c9b5403..f5f4c8c1d 100644 --- a/include/boost/geometry/formulas/mean_radius.hpp +++ b/include/boost/geometry/formulas/mean_radius.hpp @@ -24,7 +24,7 @@ namespace boost { namespace geometry namespace formula_dispatch { -template ::type> +template > struct mean_radius : not_implemented {}; diff --git a/include/boost/geometry/formulas/quarter_meridian.hpp b/include/boost/geometry/formulas/quarter_meridian.hpp index 5aa10cc87..f6dd74d82 100644 --- a/include/boost/geometry/formulas/quarter_meridian.hpp +++ b/include/boost/geometry/formulas/quarter_meridian.hpp @@ -29,7 +29,7 @@ namespace boost { namespace geometry namespace formula_dispatch { -template ::type> +template > struct quarter_meridian : not_implemented {}; diff --git a/include/boost/geometry/geometries/adapted/boost_array.hpp b/include/boost/geometry/geometries/adapted/boost_array.hpp index 7bd6aeae9..ebee8eb9f 100644 --- a/include/boost/geometry/geometries/adapted/boost_array.hpp +++ b/include/boost/geometry/geometries/adapted/boost_array.hpp @@ -54,14 +54,14 @@ namespace detail template struct boost_array_tag { - typedef geometry_not_recognized_tag type; + using type = geometry_not_recognized_tag; }; template <> struct boost_array_tag { - typedef point_tag type; + using type = point_tag; }; diff --git a/include/boost/geometry/geometries/adapted/boost_fusion.hpp b/include/boost/geometry/geometries/adapted/boost_fusion.hpp index f80d9eb78..b73b7ad58 100644 --- a/include/boost/geometry/geometries/adapted/boost_fusion.hpp +++ b/include/boost/geometry/geometries/adapted/boost_fusion.hpp @@ -165,7 +165,7 @@ struct tag > > { - typedef point_tag type; + using type = point_tag; }; diff --git a/include/boost/geometry/geometries/adapted/boost_polygon/box.hpp b/include/boost/geometry/geometries/adapted/boost_polygon/box.hpp index 87c3b6065..eafda0939 100644 --- a/include/boost/geometry/geometries/adapted/boost_polygon/box.hpp +++ b/include/boost/geometry/geometries/adapted/boost_polygon/box.hpp @@ -34,7 +34,7 @@ namespace traits template struct tag > { - typedef box_tag type; + using type = box_tag; }; diff --git a/include/boost/geometry/geometries/adapted/boost_polygon/point.hpp b/include/boost/geometry/geometries/adapted/boost_polygon/point.hpp index 8b14ce133..4ae4e947b 100644 --- a/include/boost/geometry/geometries/adapted/boost_polygon/point.hpp +++ b/include/boost/geometry/geometries/adapted/boost_polygon/point.hpp @@ -40,7 +40,7 @@ namespace traits template struct tag > { - typedef point_tag type; + using type = point_tag; }; diff --git a/include/boost/geometry/geometries/adapted/boost_polygon/polygon.hpp b/include/boost/geometry/geometries/adapted/boost_polygon/polygon.hpp index 5703601e0..ba6877846 100644 --- a/include/boost/geometry/geometries/adapted/boost_polygon/polygon.hpp +++ b/include/boost/geometry/geometries/adapted/boost_polygon/polygon.hpp @@ -35,7 +35,7 @@ namespace traits template struct tag > { - typedef polygon_tag type; + using type = polygon_tag; }; template diff --git a/include/boost/geometry/geometries/adapted/boost_polygon/ring.hpp b/include/boost/geometry/geometries/adapted/boost_polygon/ring.hpp index 490fa45fe..2c2636f29 100644 --- a/include/boost/geometry/geometries/adapted/boost_polygon/ring.hpp +++ b/include/boost/geometry/geometries/adapted/boost_polygon/ring.hpp @@ -34,7 +34,7 @@ namespace traits template struct tag > { - typedef ring_tag type; + using type = ring_tag; }; template diff --git a/include/boost/geometry/geometries/adapted/boost_polygon/ring_proxy.hpp b/include/boost/geometry/geometries/adapted/boost_polygon/ring_proxy.hpp index ca54ec6af..f79a995e8 100644 --- a/include/boost/geometry/geometries/adapted/boost_polygon/ring_proxy.hpp +++ b/include/boost/geometry/geometries/adapted/boost_polygon/ring_proxy.hpp @@ -243,7 +243,7 @@ namespace traits template struct tag > { - typedef ring_tag type; + using type = ring_tag; }; diff --git a/include/boost/geometry/geometries/adapted/boost_range/adjacent_filtered.hpp b/include/boost/geometry/geometries/adapted/boost_range/adjacent_filtered.hpp index 496dbeaec..25ed05f40 100644 --- a/include/boost/geometry/geometries/adapted/boost_range/adjacent_filtered.hpp +++ b/include/boost/geometry/geometries/adapted/boost_range/adjacent_filtered.hpp @@ -29,7 +29,7 @@ struct tag > struct tag > #endif { - typedef typename geometry::tag::type type; + using type = geometry::tag_t; }; } diff --git a/include/boost/geometry/geometries/adapted/boost_range/filtered.hpp b/include/boost/geometry/geometries/adapted/boost_range/filtered.hpp index 990d60846..634c5bb7d 100644 --- a/include/boost/geometry/geometries/adapted/boost_range/filtered.hpp +++ b/include/boost/geometry/geometries/adapted/boost_range/filtered.hpp @@ -29,7 +29,7 @@ struct tag > struct tag > #endif { - typedef typename geometry::tag::type type; + using type = geometry::tag_t; }; } diff --git a/include/boost/geometry/geometries/adapted/boost_range/reversed.hpp b/include/boost/geometry/geometries/adapted/boost_range/reversed.hpp index 3c8601fe1..a73f8c7c3 100644 --- a/include/boost/geometry/geometries/adapted/boost_range/reversed.hpp +++ b/include/boost/geometry/geometries/adapted/boost_range/reversed.hpp @@ -29,7 +29,7 @@ struct tag > struct tag > #endif { - typedef typename geometry::tag::type type; + using type = geometry::tag_t; }; } diff --git a/include/boost/geometry/geometries/adapted/boost_range/sliced.hpp b/include/boost/geometry/geometries/adapted/boost_range/sliced.hpp index 70189819c..c151e5518 100644 --- a/include/boost/geometry/geometries/adapted/boost_range/sliced.hpp +++ b/include/boost/geometry/geometries/adapted/boost_range/sliced.hpp @@ -25,7 +25,7 @@ namespace traits template struct tag > { - typedef typename geometry::tag::type type; + using type = geometry::tag_t; }; } diff --git a/include/boost/geometry/geometries/adapted/boost_range/strided.hpp b/include/boost/geometry/geometries/adapted/boost_range/strided.hpp index 5c9cdd6a8..b72fdade1 100644 --- a/include/boost/geometry/geometries/adapted/boost_range/strided.hpp +++ b/include/boost/geometry/geometries/adapted/boost_range/strided.hpp @@ -25,7 +25,7 @@ namespace traits template struct tag > { - typedef typename geometry::tag::type type; + using type = geometry::tag_t; }; } diff --git a/include/boost/geometry/geometries/adapted/boost_range/uniqued.hpp b/include/boost/geometry/geometries/adapted/boost_range/uniqued.hpp index beb51fe0b..880844dd0 100644 --- a/include/boost/geometry/geometries/adapted/boost_range/uniqued.hpp +++ b/include/boost/geometry/geometries/adapted/boost_range/uniqued.hpp @@ -29,7 +29,7 @@ struct tag > struct tag > #endif { - typedef typename geometry::tag::type type; + using type = geometry::tag_t; }; } diff --git a/include/boost/geometry/geometries/adapted/boost_tuple.hpp b/include/boost/geometry/geometries/adapted/boost_tuple.hpp index 84d6eb398..ac2b74cde 100644 --- a/include/boost/geometry/geometries/adapted/boost_tuple.hpp +++ b/include/boost/geometry/geometries/adapted/boost_tuple.hpp @@ -45,7 +45,7 @@ template struct tag > { - typedef point_tag type; + using type = point_tag; }; diff --git a/include/boost/geometry/geometries/adapted/c_array.hpp b/include/boost/geometry/geometries/adapted/c_array.hpp index c66ea2362..6251e9d2d 100644 --- a/include/boost/geometry/geometries/adapted/c_array.hpp +++ b/include/boost/geometry/geometries/adapted/c_array.hpp @@ -46,14 +46,14 @@ namespace detail template struct c_array_tag { - typedef geometry_not_recognized_tag type; + using type = geometry_not_recognized_tag; }; template <> struct c_array_tag { - typedef point_tag type; + using type = point_tag; }; diff --git a/include/boost/geometry/geometries/adapted/std_array.hpp b/include/boost/geometry/geometries/adapted/std_array.hpp index dfbd179d6..50f93cfee 100644 --- a/include/boost/geometry/geometries/adapted/std_array.hpp +++ b/include/boost/geometry/geometries/adapted/std_array.hpp @@ -51,14 +51,14 @@ namespace detail template struct std_array_tag { - typedef geometry_not_recognized_tag type; + using type = geometry_not_recognized_tag; }; template <> struct std_array_tag { - typedef point_tag type; + using type = point_tag; }; diff --git a/include/boost/geometry/geometries/adapted/std_pair_as_segment.hpp b/include/boost/geometry/geometries/adapted/std_pair_as_segment.hpp index a078af939..cf2ebea9c 100644 --- a/include/boost/geometry/geometries/adapted/std_pair_as_segment.hpp +++ b/include/boost/geometry/geometries/adapted/std_pair_as_segment.hpp @@ -45,7 +45,7 @@ namespace traits template struct tag > { - typedef segment_tag type; + using type = segment_tag; }; template diff --git a/include/boost/geometry/geometries/box.hpp b/include/boost/geometry/geometries/box.hpp index 4c1d6eea7..bab4695de 100644 --- a/include/boost/geometry/geometries/box.hpp +++ b/include/boost/geometry/geometries/box.hpp @@ -192,7 +192,7 @@ namespace traits template struct tag > { - typedef box_tag type; + using type = box_tag; }; template diff --git a/include/boost/geometry/geometries/concepts/concept_type.hpp b/include/boost/geometry/geometries/concepts/concept_type.hpp index 36b7ee1bb..5418fbabf 100644 --- a/include/boost/geometry/geometries/concepts/concept_type.hpp +++ b/include/boost/geometry/geometries/concepts/concept_type.hpp @@ -18,7 +18,7 @@ namespace boost { namespace geometry { namespace concepts { -template ::type> +template > struct concept_type { BOOST_GEOMETRY_STATIC_ASSERT_FALSE("Not implemented for this Tag.", Tag); diff --git a/include/boost/geometry/geometries/concepts/geometry_collection_concept.hpp b/include/boost/geometry/geometries/concepts/geometry_collection_concept.hpp index 7d232c145..a12549d80 100644 --- a/include/boost/geometry/geometries/concepts/geometry_collection_concept.hpp +++ b/include/boost/geometry/geometries/concepts/geometry_collection_concept.hpp @@ -47,7 +47,7 @@ template < typename Geometry, typename SubGeometry, - typename Tag = typename tag::type, + typename Tag = tag_t, bool IsSubDynamicOrCollection = util::is_dynamic_geometry::value || util::is_geometry_collection::value > diff --git a/include/boost/geometry/geometries/helper_geometry.hpp b/include/boost/geometry/geometries/helper_geometry.hpp index 3c96d344f..609b855dd 100644 --- a/include/boost/geometry/geometries/helper_geometry.hpp +++ b/include/boost/geometry/geometries/helper_geometry.hpp @@ -48,7 +48,7 @@ struct helper_point < NewCoordinateType, dimension::value, - typename cs_tag_to_coordinate_system::type + cs_tag_to_coordinate_system_t > type; }; @@ -65,7 +65,8 @@ template typename Geometry, typename NewCoordinateType, typename NewUnits, - typename Tag = typename tag::type> + typename Tag = tag_t +> struct helper_geometry : not_implemented {}; diff --git a/include/boost/geometry/geometries/linestring.hpp b/include/boost/geometry/geometries/linestring.hpp index 37d3edd16..941b7fd32 100644 --- a/include/boost/geometry/geometries/linestring.hpp +++ b/include/boost/geometry/geometries/linestring.hpp @@ -108,7 +108,7 @@ template > struct tag > { - typedef linestring_tag type; + using type = linestring_tag; }; } // namespace traits diff --git a/include/boost/geometry/geometries/multi_linestring.hpp b/include/boost/geometry/geometries/multi_linestring.hpp index 79b59efeb..89257f90a 100644 --- a/include/boost/geometry/geometries/multi_linestring.hpp +++ b/include/boost/geometry/geometries/multi_linestring.hpp @@ -102,7 +102,7 @@ template > struct tag< model::multi_linestring > { - typedef multi_linestring_tag type; + using type = multi_linestring_tag; }; } // namespace traits diff --git a/include/boost/geometry/geometries/multi_point.hpp b/include/boost/geometry/geometries/multi_point.hpp index 1458d57a4..0b4274cb5 100644 --- a/include/boost/geometry/geometries/multi_point.hpp +++ b/include/boost/geometry/geometries/multi_point.hpp @@ -108,7 +108,7 @@ template > struct tag< model::multi_point > { - typedef multi_point_tag type; + using type = multi_point_tag; }; } // namespace traits diff --git a/include/boost/geometry/geometries/multi_polygon.hpp b/include/boost/geometry/geometries/multi_polygon.hpp index 87ada7fc7..b152124cb 100644 --- a/include/boost/geometry/geometries/multi_polygon.hpp +++ b/include/boost/geometry/geometries/multi_polygon.hpp @@ -102,7 +102,7 @@ template > struct tag< model::multi_polygon > { - typedef multi_polygon_tag type; + using type = multi_polygon_tag; }; } // namespace traits diff --git a/include/boost/geometry/geometries/point.hpp b/include/boost/geometry/geometries/point.hpp index 2671bf4cd..9ca7c6589 100644 --- a/include/boost/geometry/geometries/point.hpp +++ b/include/boost/geometry/geometries/point.hpp @@ -240,7 +240,7 @@ template > struct tag > { - typedef point_tag type; + using type = point_tag; }; template diff --git a/include/boost/geometry/geometries/point_xy.hpp b/include/boost/geometry/geometries/point_xy.hpp index 09b54c18f..3cf6c0efd 100644 --- a/include/boost/geometry/geometries/point_xy.hpp +++ b/include/boost/geometry/geometries/point_xy.hpp @@ -85,7 +85,7 @@ namespace traits template struct tag > { - typedef point_tag type; + using type = point_tag; }; template diff --git a/include/boost/geometry/geometries/point_xyz.hpp b/include/boost/geometry/geometries/point_xyz.hpp index d346b28a5..ac3134aad 100644 --- a/include/boost/geometry/geometries/point_xyz.hpp +++ b/include/boost/geometry/geometries/point_xyz.hpp @@ -88,7 +88,7 @@ namespace traits template struct tag > { - typedef point_tag type; + using type = point_tag; }; template diff --git a/include/boost/geometry/geometries/pointing_segment.hpp b/include/boost/geometry/geometries/pointing_segment.hpp index 669a73493..48c8adfa6 100644 --- a/include/boost/geometry/geometries/pointing_segment.hpp +++ b/include/boost/geometry/geometries/pointing_segment.hpp @@ -78,7 +78,7 @@ namespace traits template struct tag > { - typedef segment_tag type; + using type = segment_tag; }; template diff --git a/include/boost/geometry/geometries/polygon.hpp b/include/boost/geometry/geometries/polygon.hpp index 4857c001a..5d9d72c40 100644 --- a/include/boost/geometry/geometries/polygon.hpp +++ b/include/boost/geometry/geometries/polygon.hpp @@ -166,7 +166,7 @@ struct tag > > { - typedef polygon_tag type; + using type = polygon_tag; }; template diff --git a/include/boost/geometry/geometries/register/box.hpp b/include/boost/geometry/geometries/register/box.hpp index 23e07d1d8..92b71c90b 100644 --- a/include/boost/geometry/geometries/register/box.hpp +++ b/include/boost/geometry/geometries/register/box.hpp @@ -91,11 +91,11 @@ template <> struct indexed_access \ #define BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS(Box, PointType) \ - template<> struct tag { typedef box_tag type; }; \ + template<> struct tag { using type = box_tag; }; \ template<> struct point_type { typedef PointType type; }; #define BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS_TEMPLATED(Box) \ - template struct tag > { typedef box_tag type; }; \ + template struct tag > { using type = box_tag; }; \ template struct point_type > { typedef P type; }; #endif // DOXYGEN_NO_SPECIALIZATIONS diff --git a/include/boost/geometry/geometries/register/linestring.hpp b/include/boost/geometry/geometries/register/linestring.hpp index cfc7dcaed..8394063cb 100644 --- a/include/boost/geometry/geometries/register/linestring.hpp +++ b/include/boost/geometry/geometries/register/linestring.hpp @@ -34,7 +34,7 @@ */ #define BOOST_GEOMETRY_REGISTER_LINESTRING(Linestring) \ namespace boost { namespace geometry { namespace traits { \ - template<> struct tag { typedef linestring_tag type; }; \ + template<> struct tag { using type = linestring_tag; }; \ }}} @@ -53,7 +53,7 @@ namespace boost { namespace geometry { namespace traits { \ */ #define BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(Linestring) \ namespace boost { namespace geometry { namespace traits { \ - template struct tag< Linestring

> { typedef linestring_tag type; }; \ + template struct tag< Linestring

> { using type = linestring_tag; }; \ }}} diff --git a/include/boost/geometry/geometries/register/multi_linestring.hpp b/include/boost/geometry/geometries/register/multi_linestring.hpp index ad11289d1..f0f7b6e0a 100644 --- a/include/boost/geometry/geometries/register/multi_linestring.hpp +++ b/include/boost/geometry/geometries/register/multi_linestring.hpp @@ -33,7 +33,7 @@ */ #define BOOST_GEOMETRY_REGISTER_MULTI_LINESTRING(MultiLineString) \ namespace boost { namespace geometry { namespace traits { \ - template<> struct tag { typedef multi_linestring_tag type; }; \ + template<> struct tag { using type = multi_linestring_tag; }; \ }}} @@ -52,7 +52,7 @@ namespace boost { namespace geometry { namespace traits { \ */ #define BOOST_GEOMETRY_REGISTER_MULTI_LINESTRING_TEMPLATED(MultiLineString) \ namespace boost { namespace geometry { namespace traits { \ - template struct tag< MultiLineString > { typedef multi_linestring_tag type; }; \ + template struct tag< MultiLineString > { using type = multi_linestring_tag; }; \ }}} diff --git a/include/boost/geometry/geometries/register/multi_point.hpp b/include/boost/geometry/geometries/register/multi_point.hpp index 4e875ae0c..f4b3aeeb3 100644 --- a/include/boost/geometry/geometries/register/multi_point.hpp +++ b/include/boost/geometry/geometries/register/multi_point.hpp @@ -33,7 +33,7 @@ */ #define BOOST_GEOMETRY_REGISTER_MULTI_POINT(MultiPoint) \ namespace boost { namespace geometry { namespace traits { \ - template<> struct tag { typedef multi_point_tag type; }; \ + template<> struct tag { using type = multi_point_tag; }; \ }}} @@ -52,7 +52,7 @@ namespace boost { namespace geometry { namespace traits { \ */ #define BOOST_GEOMETRY_REGISTER_MULTI_POINT_TEMPLATED(MultiPoint) \ namespace boost { namespace geometry { namespace traits { \ - template struct tag< MultiPoint > { typedef multi_point_tag type; }; \ + template struct tag< MultiPoint > { using type = multi_point_tag; }; \ }}} diff --git a/include/boost/geometry/geometries/register/multi_polygon.hpp b/include/boost/geometry/geometries/register/multi_polygon.hpp index 1c3818b55..80ee97b9d 100644 --- a/include/boost/geometry/geometries/register/multi_polygon.hpp +++ b/include/boost/geometry/geometries/register/multi_polygon.hpp @@ -33,7 +33,7 @@ */ #define BOOST_GEOMETRY_REGISTER_MULTI_POLYGON(MultiPolygon) \ namespace boost { namespace geometry { namespace traits { \ - template<> struct tag { typedef multi_polygon_tag type; }; \ + template<> struct tag { using type = multi_polygon_tag; }; \ }}} @@ -52,7 +52,7 @@ namespace boost { namespace geometry { namespace traits { \ */ #define BOOST_GEOMETRY_REGISTER_MULTI_POLYGON_TEMPLATED(MultiPolygon) \ namespace boost { namespace geometry { namespace traits { \ - template struct tag< MultiPolygon > { typedef multi_polygon_tag type; }; \ + template struct tag< MultiPolygon > { using type = multi_polygon_tag; }; \ }}} diff --git a/include/boost/geometry/geometries/register/ring.hpp b/include/boost/geometry/geometries/register/ring.hpp index 761e46fbc..20a2a6cc3 100644 --- a/include/boost/geometry/geometries/register/ring.hpp +++ b/include/boost/geometry/geometries/register/ring.hpp @@ -34,7 +34,7 @@ */ #define BOOST_GEOMETRY_REGISTER_RING(Ring) \ namespace boost { namespace geometry { namespace traits { \ - template<> struct tag { typedef ring_tag type; }; \ + template<> struct tag { using type = ring_tag; }; \ }}} @@ -53,7 +53,7 @@ namespace boost { namespace geometry { namespace traits { \ */ #define BOOST_GEOMETRY_REGISTER_RING_TEMPLATED(Ring) \ namespace boost { namespace geometry { namespace traits { \ - template struct tag< Ring

> { typedef ring_tag type; }; \ + template struct tag< Ring

> { using type = ring_tag; }; \ }}} diff --git a/include/boost/geometry/geometries/register/segment.hpp b/include/boost/geometry/geometries/register/segment.hpp index f9e5c0695..f83e240b9 100644 --- a/include/boost/geometry/geometries/register/segment.hpp +++ b/include/boost/geometry/geometries/register/segment.hpp @@ -91,11 +91,11 @@ template <> struct indexed_access \ #define BOOST_GEOMETRY_DETAIL_SPECIALIZE_SEGMENT_TRAITS(Segment, PointType) \ - template<> struct tag { typedef segment_tag type; }; \ + template<> struct tag { using type = segment_tag; }; \ template<> struct point_type { typedef PointType type; }; #define BOOST_GEOMETRY_DETAIL_SPECIALIZE_SEGMENT_TRAITS_TEMPLATIZED(Segment) \ - template struct tag > { typedef segment_tag type; }; \ + template struct tag > { using type = segment_tag; }; \ template struct point_type > { typedef P type; }; #endif // DOXYGEN_NO_SPECIALIZATIONS diff --git a/include/boost/geometry/geometries/ring.hpp b/include/boost/geometry/geometries/ring.hpp index 3921e3a22..33991151b 100644 --- a/include/boost/geometry/geometries/ring.hpp +++ b/include/boost/geometry/geometries/ring.hpp @@ -114,7 +114,7 @@ template > struct tag > { - typedef ring_tag type; + using type = ring_tag; }; diff --git a/include/boost/geometry/geometries/segment.hpp b/include/boost/geometry/geometries/segment.hpp index 471f566a1..371395a60 100644 --- a/include/boost/geometry/geometries/segment.hpp +++ b/include/boost/geometry/geometries/segment.hpp @@ -124,7 +124,7 @@ namespace traits template struct tag > { - typedef segment_tag type; + using type = segment_tag; }; template @@ -187,7 +187,7 @@ struct make > template struct tag > { - typedef segment_tag type; + using type = segment_tag; }; template diff --git a/include/boost/geometry/index/detail/algorithms/bounds.hpp b/include/boost/geometry/index/detail/algorithms/bounds.hpp index 616504458..f20469785 100644 --- a/include/boost/geometry/index/detail/algorithms/bounds.hpp +++ b/include/boost/geometry/index/detail/algorithms/bounds.hpp @@ -28,10 +28,13 @@ namespace boost { namespace geometry { namespace index { namespace detail namespace dispatch { -template ::type, - typename TagBounds = typename geometry::tag::type> +template +< + typename Geometry, + typename Bounds, + typename TagGeometry = geometry::tag_t, + typename TagBounds = geometry::tag_t +> struct bounds { template @@ -67,10 +70,13 @@ inline void bounds(Geometry const& g, Bounds & b, Strategy const& s) namespace dispatch { -template ::type, - typename TagGeometry = typename geometry::tag::type> +template +< + typename Bounds, + typename Geometry, + typename TagBounds = geometry::tag_t, + typename TagGeometry = geometry::tag_t +> struct expand { // STATIC ASSERT @@ -144,10 +150,13 @@ namespace dispatch { -template ::type, - typename TagBounds = typename geometry::tag::type> +template +< + typename Geometry, + typename Bounds, + typename TagGeometry = geometry::tag_t, + typename TagBounds = geometry::tag_t +> struct covered_by_bounds {}; diff --git a/include/boost/geometry/index/detail/algorithms/comparable_distance_centroid.hpp b/include/boost/geometry/index/detail/algorithms/comparable_distance_centroid.hpp index 823c12476..dca15d376 100644 --- a/include/boost/geometry/index/detail/algorithms/comparable_distance_centroid.hpp +++ b/include/boost/geometry/index/detail/algorithms/comparable_distance_centroid.hpp @@ -69,13 +69,14 @@ template typename geometry::default_comparable_distance_result::type comparable_distance_centroid(Point const& pt, Indexable const& i) { - return detail::sum_for_indexable< - Point, - Indexable, - typename tag::type, - detail::comparable_distance_centroid_tag, - dimension::value - >::apply(pt, i); + return detail::sum_for_indexable + < + Point, + Indexable, + tag_t, + detail::comparable_distance_centroid_tag, + dimension::value + >::apply(pt, i); } }}}} // namespace boost::geometry::index::detail diff --git a/include/boost/geometry/index/detail/algorithms/comparable_distance_far.hpp b/include/boost/geometry/index/detail/algorithms/comparable_distance_far.hpp index 5efffad23..9d1f1f63d 100644 --- a/include/boost/geometry/index/detail/algorithms/comparable_distance_far.hpp +++ b/include/boost/geometry/index/detail/algorithms/comparable_distance_far.hpp @@ -59,13 +59,14 @@ template typename geometry::default_comparable_distance_result::type comparable_distance_far(Point const& pt, Indexable const& i) { - return detail::sum_for_indexable< - Point, - Indexable, - typename tag::type, - detail::comparable_distance_far_tag, - dimension::value - >::apply(pt, i); + return detail::sum_for_indexable + < + Point, + Indexable, + tag_t, + detail::comparable_distance_far_tag, + dimension::value + >::apply(pt, i); } }}}} // namespace boost::geometry::index::detail diff --git a/include/boost/geometry/index/detail/algorithms/comparable_distance_near.hpp b/include/boost/geometry/index/detail/algorithms/comparable_distance_near.hpp index c74c95760..9e479875c 100644 --- a/include/boost/geometry/index/detail/algorithms/comparable_distance_near.hpp +++ b/include/boost/geometry/index/detail/algorithms/comparable_distance_near.hpp @@ -70,13 +70,14 @@ template typename geometry::default_comparable_distance_result::type comparable_distance_near(Point const& pt, Indexable const& i) { - return detail::sum_for_indexable< - Point, - Indexable, - typename tag::type, - detail::comparable_distance_near_tag, - dimension::value - >::apply(pt, i); + return detail::sum_for_indexable + < + Point, + Indexable, + tag_t, + detail::comparable_distance_near_tag, + dimension::value + >::apply(pt, i); } }}}} // namespace boost::geometry::index::detail diff --git a/include/boost/geometry/index/detail/algorithms/content.hpp b/include/boost/geometry/index/detail/algorithms/content.hpp index f7dfe373d..2134263a1 100644 --- a/include/boost/geometry/index/detail/algorithms/content.hpp +++ b/include/boost/geometry/index/detail/algorithms/content.hpp @@ -94,7 +94,7 @@ typename default_content_result::type content(Indexable const& b) return dispatch::content < Indexable, - typename tag::type + tag_t >::apply(b); } diff --git a/include/boost/geometry/index/detail/algorithms/is_valid.hpp b/include/boost/geometry/index/detail/algorithms/is_valid.hpp index 5cd241c29..3773efad2 100644 --- a/include/boost/geometry/index/detail/algorithms/is_valid.hpp +++ b/include/boost/geometry/index/detail/algorithms/is_valid.hpp @@ -45,8 +45,7 @@ struct is_valid_box } }; -template ::type> +template > struct is_valid { BOOST_GEOMETRY_STATIC_ASSERT_FALSE( diff --git a/include/boost/geometry/index/detail/algorithms/margin.hpp b/include/boost/geometry/index/detail/algorithms/margin.hpp index 53ba247be..8a4f9fda3 100644 --- a/include/boost/geometry/index/detail/algorithms/margin.hpp +++ b/include/boost/geometry/index/detail/algorithms/margin.hpp @@ -168,10 +168,11 @@ struct comparable_margin template typename default_margin_result::type comparable_margin(Geometry const& g) { - return dispatch::comparable_margin< - Geometry, - typename tag::type - >::apply(g); + return dispatch::comparable_margin + < + Geometry, + tag_t + >::apply(g); } //template diff --git a/include/boost/geometry/index/detail/algorithms/minmaxdist.hpp b/include/boost/geometry/index/detail/algorithms/minmaxdist.hpp index 382b7196c..53211c6a3 100644 --- a/include/boost/geometry/index/detail/algorithms/minmaxdist.hpp +++ b/include/boost/geometry/index/detail/algorithms/minmaxdist.hpp @@ -112,11 +112,12 @@ template typename geometry::default_comparable_distance_result::type minmaxdist(Point const& pt, Indexable const& i) { - return detail::minmaxdist_impl< - Point, - Indexable, - typename tag::type - >::apply(pt, i); + return detail::minmaxdist_impl + < + Point, + Indexable, + tag_t + >::apply(pt, i); } }}}} // namespace boost::geometry::index::detail diff --git a/include/boost/geometry/index/detail/algorithms/path_intersection.hpp b/include/boost/geometry/index/detail/algorithms/path_intersection.hpp index 5cf936694..23aed0adb 100644 --- a/include/boost/geometry/index/detail/algorithms/path_intersection.hpp +++ b/include/boost/geometry/index/detail/algorithms/path_intersection.hpp @@ -113,11 +113,12 @@ struct path_intersection template struct default_path_intersection_distance_type { - typedef typename dispatch::path_intersection< - Indexable, SegmentOrLinestring, - typename tag::type, - typename tag::type - >::comparable_distance_type type; + using type = typename dispatch::path_intersection + < + Indexable, SegmentOrLinestring, + tag_t, + tag_t + >::comparable_distance_type; }; template inline @@ -127,10 +128,11 @@ bool path_intersection(Indexable const& b, { // TODO check Indexable and Linestring concepts - return dispatch::path_intersection< + return dispatch::path_intersection + < Indexable, SegmentOrLinestring, - typename tag::type, - typename tag::type + tag_t, + tag_t >::apply(b, path, comparable_distance); } diff --git a/include/boost/geometry/index/detail/algorithms/segment_intersection.hpp b/include/boost/geometry/index/detail/algorithms/segment_intersection.hpp index e8b256dfb..bed19ff25 100644 --- a/include/boost/geometry/index/detail/algorithms/segment_intersection.hpp +++ b/include/boost/geometry/index/detail/algorithms/segment_intersection.hpp @@ -154,9 +154,10 @@ bool segment_intersection(Indexable const& b, { // TODO check Indexable and Point concepts - return dispatch::segment_intersection< + return dispatch::segment_intersection + < Indexable, Point, - typename tag::type + tag_t >::apply(b, p0, p1, relative_distance); } diff --git a/include/boost/geometry/index/detail/bounded_view.hpp b/include/boost/geometry/index/detail/bounded_view.hpp index 3436f8296..1c1b24d91 100644 --- a/include/boost/geometry/index/detail/bounded_view.hpp +++ b/include/boost/geometry/index/detail/bounded_view.hpp @@ -31,7 +31,7 @@ namespace index { namespace detail { template struct bounded_view_base_cs_tag { - typedef typename Strategy::cs_tag type; + using type = typename Strategy::cs_tag; }; template @@ -45,8 +45,8 @@ template typename Geometry, typename BoundingGeometry, typename Strategy, - typename Tag = typename geometry::tag::type, - typename BoundingTag = typename geometry::tag::type, + typename Tag = geometry::tag_t, + typename BoundingTag = geometry::tag_t, typename CSTag = typename bounded_view_base_cs_tag < Geometry, BoundingGeometry, Strategy @@ -182,8 +182,8 @@ private: template ::type, - typename BoundingTag = typename geometry::tag::type> + typename Tag = geometry::tag_t, + typename BoundingTag = geometry::tag_t> struct bounded_view : bounded_view_base { @@ -235,7 +235,7 @@ namespace traits template struct tag< index::detail::bounded_view > { - typedef box_tag type; + using type = box_tag; }; template diff --git a/include/boost/geometry/index/detail/is_bounding_geometry.hpp b/include/boost/geometry/index/detail/is_bounding_geometry.hpp index d14204af7..620ac5555 100644 --- a/include/boost/geometry/index/detail/is_bounding_geometry.hpp +++ b/include/boost/geometry/index/detail/is_bounding_geometry.hpp @@ -17,7 +17,7 @@ namespace boost { namespace geometry { namespace index { namespace detail { template < typename Geometry, - typename Tag = typename geometry::tag::type + typename Tag = geometry::tag_t > struct is_bounding_geometry { diff --git a/include/boost/geometry/index/detail/is_indexable.hpp b/include/boost/geometry/index/detail/is_indexable.hpp index 1e86463a3..347a2bd44 100644 --- a/include/boost/geometry/index/detail/is_indexable.hpp +++ b/include/boost/geometry/index/detail/is_indexable.hpp @@ -17,7 +17,7 @@ namespace boost { namespace geometry { namespace index { namespace detail { template < typename Geometry, - typename Tag = typename geometry::tag::type + typename Tag = geometry::tag_t > struct is_indexable { diff --git a/include/boost/geometry/index/detail/predicates.hpp b/include/boost/geometry/index/detail/predicates.hpp index e6f240198..0f82abc27 100644 --- a/include/boost/geometry/index/detail/predicates.hpp +++ b/include/boost/geometry/index/detail/predicates.hpp @@ -215,8 +215,8 @@ struct spatial_predicate_call template < typename G1, typename G2, - typename Tag1 = typename tag::type, - typename Tag2 = typename tag::type + typename Tag1 = tag_t, + typename Tag2 = tag_t > struct spatial_predicate_intersects { diff --git a/include/boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp b/include/boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp index b698f18e9..87f933f65 100644 --- a/include/boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp +++ b/include/boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp @@ -243,22 +243,23 @@ struct pick_seeds_impl { BOOST_STATIC_ASSERT(0 < Dimension); - typedef typename Elements::value_type element_type; - typedef typename rtree::element_indexable_type::type indexable_type; + using element_type = typename Elements::value_type; + using indexable_type = typename rtree::element_indexable_type::type; - typedef find_greatest_normalized_separation< + using find_norm_sep = find_greatest_normalized_separation + < Elements, Parameters, Translator, - typename tag::type, Dimension - 1 - > find_norm_sep; + tag_t, Dimension - 1 + >; - typedef typename find_norm_sep::separation_type separation_type; + using separation_type = typename find_norm_sep::separation_type; static inline void apply(Elements const& elements, Parameters const& parameters, Translator const& tr, - separation_type & separation, - size_t & seed1, - size_t & seed2) + separation_type& separation, + size_t& seed1, + size_t& seed2) { pick_seeds_impl::apply(elements, parameters, tr, separation, seed1, seed2); @@ -279,23 +280,24 @@ struct pick_seeds_impl template struct pick_seeds_impl { - typedef typename Elements::value_type element_type; - typedef typename rtree::element_indexable_type::type indexable_type; - typedef typename coordinate_type::type coordinate_type; + using element_type = typename Elements::value_type; + using indexable_type = typename rtree::element_indexable_type::type; + using coordinate_type = coordinate_type_t; - typedef find_greatest_normalized_separation< - Elements, Parameters, Translator, - typename tag::type, 0 - > find_norm_sep; + using find_norm_sep = find_greatest_normalized_separation + < + Elements, Parameters, Translator, + tag_t, 0 + >; - typedef typename find_norm_sep::separation_type separation_type; + using separation_type = typename find_norm_sep::separation_type; static inline void apply(Elements const& elements, Parameters const& parameters, Translator const& tr, - separation_type & separation, - size_t & seed1, - size_t & seed2) + separation_type& separation, + size_t& seed1, + size_t& seed2) { find_norm_sep::apply(elements, parameters, tr, separation, seed1, seed2); } diff --git a/include/boost/geometry/index/detail/rtree/rstar/redistribute_elements.hpp b/include/boost/geometry/index/detail/rtree/rstar/redistribute_elements.hpp index 9dcb3db38..8d1a25548 100644 --- a/include/boost/geometry/index/detail/rtree/rstar/redistribute_elements.hpp +++ b/include/boost/geometry/index/detail/rtree/rstar/redistribute_elements.hpp @@ -121,9 +121,9 @@ struct choose_split_axis_and_index_for_corner Parameters const& parameters, Translator const& translator) { - typedef typename Elements::value_type element_type; - typedef typename rtree::element_indexable_type::type indexable_type; - typedef typename tag::type indexable_tag; + using element_type = typename Elements::value_type; + using indexable_type = typename rtree::element_indexable_type::type; + using indexable_tag = tag_t; BOOST_GEOMETRY_INDEX_ASSERT(elements.size() == parameters.get_max_elements() + 1, "wrong number of elements"); @@ -306,13 +306,15 @@ struct choose_split_axis_and_index content_type overlap_val = (std::numeric_limits::max)(); content_type content_val = (std::numeric_limits::max)(); - choose_split_axis_and_index_for_axis< - Box, - Dimension - 1, - typename tag::type - >::apply(elements, corner, index, sum_of_margins, overlap_val, content_val, parameters, translator); // MAY THROW, STRONG + choose_split_axis_and_index_for_axis + < + Box, + Dimension - 1, + tag_t + >::apply(elements, corner, index, sum_of_margins, overlap_val, content_val, + parameters, translator); // MAY THROW, STRONG - if ( sum_of_margins < smallest_sum_of_margins ) + if (sum_of_margins < smallest_sum_of_margins) { choosen_axis = Dimension - 1; choosen_corner = corner; @@ -341,15 +343,17 @@ struct choose_split_axis_and_index Parameters const& parameters, Translator const& translator) { - typedef typename rtree::element_indexable_type::type element_indexable_type; + using element_indexable_type = typename rtree::element_indexable_type::type; choosen_axis = 0; - choose_split_axis_and_index_for_axis< - Box, - 0, - typename tag::type - >::apply(elements, choosen_corner, choosen_index, smallest_sum_of_margins, smallest_overlap, smallest_content, parameters, translator); // MAY THROW + choose_split_axis_and_index_for_axis + < + Box, + 0, + tag_t + >::apply(elements, choosen_corner, choosen_index, smallest_sum_of_margins, + smallest_overlap, smallest_content, parameters, translator); // MAY THROW } }; @@ -371,9 +375,9 @@ struct nth_element } else { - typedef typename Elements::value_type element_type; - typedef typename rtree::element_indexable_type::type indexable_type; - typedef typename tag::type indexable_tag; + using element_type = typename Elements::value_type; + using indexable_type = typename rtree::element_indexable_type::type; + using indexable_tag = tag_t; typename index::detail::strategy_type::type strategy = index::detail::get_strategy(parameters); diff --git a/include/boost/geometry/index/detail/rtree/utilities/gl_draw.hpp b/include/boost/geometry/index/detail/rtree/utilities/gl_draw.hpp index 2b7014597..5dd79c02c 100644 --- a/include/boost/geometry/index/detail/rtree/utilities/gl_draw.hpp +++ b/include/boost/geometry/index/detail/rtree/utilities/gl_draw.hpp @@ -117,10 +117,11 @@ struct gl_draw_indexable template inline void gl_draw_indexable(Indexable const& i, coordinate_type_t z) { - dispatch::gl_draw_indexable< - Indexable, - typename tag::type - >::apply(i, z); + dispatch::gl_draw_indexable + < + Indexable, + tag_t + >::apply(i, z); } } // namespace utilities diff --git a/include/boost/geometry/index/detail/rtree/utilities/print.hpp b/include/boost/geometry/index/detail/rtree/utilities/print.hpp index ddb2d9cb5..5d8f21612 100644 --- a/include/boost/geometry/index/detail/rtree/utilities/print.hpp +++ b/include/boost/geometry/index/detail/rtree/utilities/print.hpp @@ -134,10 +134,11 @@ struct print_indexable template inline void print_indexable(std::ostream & os, Indexable const& i) { - dispatch::print_indexable< - Indexable, - typename tag::type - >::apply(os, i); + dispatch::print_indexable + < + Indexable, + tag_t + >::apply(os, i); } } // namespace utilities diff --git a/include/boost/geometry/index/equal_to.hpp b/include/boost/geometry/index/equal_to.hpp index 85fa7e5ad..0466248d7 100644 --- a/include/boost/geometry/index/equal_to.hpp +++ b/include/boost/geometry/index/equal_to.hpp @@ -22,7 +22,7 @@ namespace boost { namespace geometry { namespace index { namespace detail { template ::type> + typename Tag = geometry::tag_t> struct equals { template diff --git a/include/boost/geometry/io/dsv/write.hpp b/include/boost/geometry/io/dsv/write.hpp index e73cdfb81..8a120d092 100644 --- a/include/boost/geometry/io/dsv/write.hpp +++ b/include/boost/geometry/io/dsv/write.hpp @@ -348,10 +348,7 @@ struct dsv_multi { typedef dispatch::dsv < - typename single_tag_of - < - typename tag::type - >::type, + typename single_tag_of>::type, typename boost::range_value::type > dispatch_one; diff --git a/include/boost/geometry/io/io.hpp b/include/boost/geometry/io/io.hpp index caafccf2b..c96082dce 100644 --- a/include/boost/geometry/io/io.hpp +++ b/include/boost/geometry/io/io.hpp @@ -37,7 +37,7 @@ struct read { static inline void apply(Geometry& geometry, std::string const& wkt) { - read_wkt::type, Geometry>::apply(wkt, geometry); + read_wkt, Geometry>::apply(wkt, geometry); } }; diff --git a/include/boost/geometry/io/svg/svg_mapper.hpp b/include/boost/geometry/io/svg/svg_mapper.hpp index 01a32d54c..fdfa7732d 100644 --- a/include/boost/geometry/io/svg/svg_mapper.hpp +++ b/include/boost/geometry/io/svg/svg_mapper.hpp @@ -153,7 +153,7 @@ struct svg_map { typedef typename single_tag_of < - typename geometry::tag::type + geometry::tag_t >::type stag; template diff --git a/include/boost/geometry/io/svg/write.hpp b/include/boost/geometry/io/svg/write.hpp index e56ae13bc..67a5f20cb 100644 --- a/include/boost/geometry/io/svg/write.hpp +++ b/include/boost/geometry/io/svg/write.hpp @@ -221,7 +221,7 @@ The static method should have the signature: template static inline void apply(std::basic_ostream& os, G const& geometry) */ -template ::type> +template > struct svg { BOOST_GEOMETRY_STATIC_ASSERT_FALSE( diff --git a/include/boost/geometry/io/wkt/read.hpp b/include/boost/geometry/io/wkt/read.hpp index 4171318ab..36e719d5e 100644 --- a/include/boost/geometry/io/wkt/read.hpp +++ b/include/boost/geometry/io/wkt/read.hpp @@ -273,10 +273,7 @@ template struct stateful_range_appender { using point_type = geometry::point_type_t; - using size_type = typename boost::range_size - < - typename util::remove_cptrref::type - >::type; + using size_type = typename boost::range_size>::type; BOOST_STATIC_ASSERT((util::is_ring::value)); @@ -521,7 +518,7 @@ inline void handle_empty_z_m(TokenizerIterator& it, } -template ::type> +template > struct dimension : geometry::dimension {}; @@ -982,7 +979,7 @@ private: bool = true) { Geom g; - ReadWkt::type>::apply(it, end, wkt, g); + ReadWkt>::apply(it, end, wkt, g); AppendPolicy::apply(geometry, g); return true; } @@ -1022,7 +1019,7 @@ private: namespace dispatch { -template ::type> +template > struct read_wkt {}; diff --git a/include/boost/geometry/io/wkt/write.hpp b/include/boost/geometry/io/wkt/write.hpp index 4b776e02d..52d0659e3 100644 --- a/include/boost/geometry/io/wkt/write.hpp +++ b/include/boost/geometry/io/wkt/write.hpp @@ -330,7 +330,7 @@ struct wkt_segment namespace dispatch { -template ::type> +template > struct wkt: not_implemented {}; diff --git a/include/boost/geometry/iterators/detail/point_iterator/inner_range_type.hpp b/include/boost/geometry/iterators/detail/point_iterator/inner_range_type.hpp index 8e93cf56e..1e9efe4f5 100644 --- a/include/boost/geometry/iterators/detail/point_iterator/inner_range_type.hpp +++ b/include/boost/geometry/iterators/detail/point_iterator/inner_range_type.hpp @@ -32,7 +32,7 @@ namespace detail { namespace point_iterator template < typename Geometry, - typename Tag = typename tag::type + typename Tag = tag_t > struct inner_range_type { diff --git a/include/boost/geometry/iterators/detail/point_iterator/iterator_type.hpp b/include/boost/geometry/iterators/detail/point_iterator/iterator_type.hpp index 9cace29a0..47adcfe15 100644 --- a/include/boost/geometry/iterators/detail/point_iterator/iterator_type.hpp +++ b/include/boost/geometry/iterators/detail/point_iterator/iterator_type.hpp @@ -37,7 +37,7 @@ namespace detail { namespace point_iterator { -template ::type> +template > struct iterator_type : not_implemented {}; diff --git a/include/boost/geometry/iterators/detail/segment_iterator/iterator_type.hpp b/include/boost/geometry/iterators/detail/segment_iterator/iterator_type.hpp index 07d11da07..b8c704a88 100644 --- a/include/boost/geometry/iterators/detail/segment_iterator/iterator_type.hpp +++ b/include/boost/geometry/iterators/detail/segment_iterator/iterator_type.hpp @@ -39,7 +39,7 @@ namespace detail { namespace segment_iterator { -template ::type> +template > struct iterator_type : not_implemented {}; diff --git a/include/boost/geometry/iterators/detail/segment_iterator/value_type.hpp b/include/boost/geometry/iterators/detail/segment_iterator/value_type.hpp index f2a858a81..c4b042ec0 100644 --- a/include/boost/geometry/iterators/detail/segment_iterator/value_type.hpp +++ b/include/boost/geometry/iterators/detail/segment_iterator/value_type.hpp @@ -50,13 +50,7 @@ struct value_type < std::is_reference::value, geometry::model::pointing_segment, - geometry::model::segment - < - typename util::remove_cptrref - < - point_iterator_value_type - >::type - > + geometry::model::segment> > type; }; diff --git a/include/boost/geometry/iterators/dispatch/point_iterator.hpp b/include/boost/geometry/iterators/dispatch/point_iterator.hpp index 938dfd8eb..f558a377d 100644 --- a/include/boost/geometry/iterators/dispatch/point_iterator.hpp +++ b/include/boost/geometry/iterators/dispatch/point_iterator.hpp @@ -23,7 +23,7 @@ namespace dispatch // dispatch for points_begin -template ::type> +template > struct points_begin : not_implemented {}; @@ -31,7 +31,7 @@ struct points_begin // dispatch for points_end -template ::type> +template > struct points_end : not_implemented {}; diff --git a/include/boost/geometry/iterators/dispatch/segment_iterator.hpp b/include/boost/geometry/iterators/dispatch/segment_iterator.hpp index 0c0a1b09a..ab0822ad0 100644 --- a/include/boost/geometry/iterators/dispatch/segment_iterator.hpp +++ b/include/boost/geometry/iterators/dispatch/segment_iterator.hpp @@ -23,7 +23,7 @@ namespace dispatch // dispatch for segments_begin -template ::type> +template > struct segments_begin : not_implemented {}; @@ -31,7 +31,7 @@ struct segments_begin // dispatch for segments_end -template ::type> +template > struct segments_end : not_implemented {}; diff --git a/include/boost/geometry/srs/projection.hpp b/include/boost/geometry/srs/projection.hpp index 00e4523f7..f4ebd41f8 100644 --- a/include/boost/geometry/srs/projection.hpp +++ b/include/boost/geometry/srs/projection.hpp @@ -53,11 +53,7 @@ namespace detail template struct same_tags - : std::is_same - < - typename geometry::tag::type, - typename geometry::tag::type - > + : std::is_same, geometry::tag_t> {}; template @@ -201,7 +197,7 @@ template < typename Geometry, typename PointPolicy, - typename Tag = typename geometry::tag::type + typename Tag = geometry::tag_t > struct project_geometry {}; diff --git a/include/boost/geometry/srs/projections/dpar.hpp b/include/boost/geometry/srs/projections/dpar.hpp index 696246c18..90b8206f7 100644 --- a/include/boost/geometry/srs/projections/dpar.hpp +++ b/include/boost/geometry/srs/projections/dpar.hpp @@ -545,7 +545,7 @@ struct parameter typename Sphere, std::enable_if_t < - std::is_same::type, srs_sphere_tag>::value, + std::is_same, srs_sphere_tag>::value, int > = 0 > @@ -559,7 +559,7 @@ struct parameter typename Spheroid, std::enable_if_t < - std::is_same::type, srs_spheroid_tag>::value, + std::is_same, srs_spheroid_tag>::value, int > = 0 > diff --git a/include/boost/geometry/srs/projections/impl/pj_ell_set.hpp b/include/boost/geometry/srs/projections/impl/pj_ell_set.hpp index 128c70e68..8e1005719 100644 --- a/include/boost/geometry/srs/projections/impl/pj_ell_set.hpp +++ b/include/boost/geometry/srs/projections/impl/pj_ell_set.hpp @@ -431,7 +431,7 @@ struct static_srs_tag_check_nonexpanded template struct static_srs_tag_check_ellps { - typedef typename geometry::tag + using type = geometry::tag_t < typename srs::spar::detail::ellps_traits < @@ -441,13 +441,13 @@ struct static_srs_tag_check_ellps srs::spar::detail::is_param_tr::pred >::type >::template model_type::type // dummy type - >::type type; + >; }; template struct static_srs_tag_check_datum { - typedef typename geometry::tag + using type = geometry::tag_t < typename srs::spar::detail::ellps_traits < @@ -460,7 +460,7 @@ struct static_srs_tag_check_datum >::type >::ellps_type >::template model_type::type // dummy type - >::type type; + >; }; template diff --git a/include/boost/geometry/srs/transformation.hpp b/include/boost/geometry/srs/transformation.hpp index cab555da4..d8aeff9ab 100644 --- a/include/boost/geometry/srs/transformation.hpp +++ b/include/boost/geometry/srs/transformation.hpp @@ -153,7 +153,7 @@ template < typename Geometry, typename CT, - typename Tag = typename geometry::tag::type + typename Tag = geometry::tag_t > struct transform_geometry {}; @@ -379,7 +379,7 @@ template < typename Geometry, typename CT, - typename Tag = typename geometry::tag::type + typename Tag = geometry::tag_t > struct transform : not_implemented diff --git a/include/boost/geometry/strategies/area/services.hpp b/include/boost/geometry/strategies/area/services.hpp index 2bc797e90..51673046f 100644 --- a/include/boost/geometry/strategies/area/services.hpp +++ b/include/boost/geometry/strategies/area/services.hpp @@ -27,7 +27,7 @@ namespace services template < typename Geometry, - typename CSTag = typename geometry::cs_tag::type + typename CSTag = geometry::cs_tag_t > struct default_strategy { diff --git a/include/boost/geometry/strategies/azimuth/services.hpp b/include/boost/geometry/strategies/azimuth/services.hpp index 11980e5a4..06b05f0d2 100644 --- a/include/boost/geometry/strategies/azimuth/services.hpp +++ b/include/boost/geometry/strategies/azimuth/services.hpp @@ -27,8 +27,8 @@ namespace services template < typename Point1, typename Point2, - typename CSTag1 = typename geometry::cs_tag::type, - typename CSTag2 = typename geometry::cs_tag::type + typename CSTag1 = geometry::cs_tag_t, + typename CSTag2 = geometry::cs_tag_t > struct default_strategy { diff --git a/include/boost/geometry/strategies/buffer/services.hpp b/include/boost/geometry/strategies/buffer/services.hpp index 445fac08d..b33aa261e 100644 --- a/include/boost/geometry/strategies/buffer/services.hpp +++ b/include/boost/geometry/strategies/buffer/services.hpp @@ -27,7 +27,7 @@ namespace services template < typename Geometry, - typename CSTag = typename geometry::cs_tag::type + typename CSTag = geometry::cs_tag_t > struct default_strategy { diff --git a/include/boost/geometry/strategies/cartesian/distance_segment_box.hpp b/include/boost/geometry/strategies/cartesian/distance_segment_box.hpp index ab3aab726..429325630 100644 --- a/include/boost/geometry/strategies/cartesian/distance_segment_box.hpp +++ b/include/boost/geometry/strategies/cartesian/distance_segment_box.hpp @@ -45,7 +45,7 @@ struct cartesian_segment_box > {}; - typedef cartesian_tag cs_tag; + using cs_tag = cartesian_tag; template < diff --git a/include/boost/geometry/strategies/cartesian/intersection.hpp b/include/boost/geometry/strategies/cartesian/intersection.hpp index 3b82a95a6..057f94310 100644 --- a/include/boost/geometry/strategies/cartesian/intersection.hpp +++ b/include/boost/geometry/strategies/cartesian/intersection.hpp @@ -123,7 +123,7 @@ template > struct cartesian_segments { - typedef cartesian_tag cs_tag; + using cs_tag = cartesian_tag; template struct segment_intersection_info diff --git a/include/boost/geometry/strategies/cartesian/point_in_point.hpp b/include/boost/geometry/strategies/cartesian/point_in_point.hpp index fe1713638..46b47965b 100644 --- a/include/boost/geometry/strategies/cartesian/point_in_point.hpp +++ b/include/boost/geometry/strategies/cartesian/point_in_point.hpp @@ -76,7 +76,7 @@ namespace strategy { namespace within struct cartesian_point_point { - typedef cartesian_tag cs_tag; + using cs_tag = cartesian_tag; template static inline bool apply(Point1 const& point1, Point2 const& point2) diff --git a/include/boost/geometry/strategies/cartesian/point_in_poly_winding.hpp b/include/boost/geometry/strategies/cartesian/point_in_poly_winding.hpp index 325af9e3e..c35cdb941 100644 --- a/include/boost/geometry/strategies/cartesian/point_in_poly_winding.hpp +++ b/include/boost/geometry/strategies/cartesian/point_in_poly_winding.hpp @@ -83,7 +83,7 @@ class cartesian_winding_base }; public: - typedef cartesian_tag cs_tag; + using cs_tag = cartesian_tag; // Typedefs and static methods to fulfill the concept typedef counter state_type; diff --git a/include/boost/geometry/strategies/centroid/services.hpp b/include/boost/geometry/strategies/centroid/services.hpp index 382c51da8..2b847493a 100644 --- a/include/boost/geometry/strategies/centroid/services.hpp +++ b/include/boost/geometry/strategies/centroid/services.hpp @@ -27,7 +27,7 @@ namespace services template < typename Geometry, - typename CSTag = typename geometry::cs_tag::type + typename CSTag = geometry::cs_tag_t > struct default_strategy { diff --git a/include/boost/geometry/strategies/closest_points/services.hpp b/include/boost/geometry/strategies/closest_points/services.hpp index d99bbfda8..d5e7067d0 100644 --- a/include/boost/geometry/strategies/closest_points/services.hpp +++ b/include/boost/geometry/strategies/closest_points/services.hpp @@ -29,8 +29,8 @@ template < typename Geometry1, typename Geometry2, - typename CSTag1 = typename geometry::cs_tag::type, - typename CSTag2 = typename geometry::cs_tag::type + typename CSTag1 = geometry::cs_tag_t, + typename CSTag2 = geometry::cs_tag_t > struct default_strategy { diff --git a/include/boost/geometry/strategies/convex_hull/services.hpp b/include/boost/geometry/strategies/convex_hull/services.hpp index 7dfd42147..03402bece 100644 --- a/include/boost/geometry/strategies/convex_hull/services.hpp +++ b/include/boost/geometry/strategies/convex_hull/services.hpp @@ -28,7 +28,7 @@ namespace services template < typename Geometry, - typename CSTag = typename geometry::cs_tag::type + typename CSTag = geometry::cs_tag_t > struct default_strategy { diff --git a/include/boost/geometry/strategies/covered_by.hpp b/include/boost/geometry/strategies/covered_by.hpp index 34efeb411..d285d546e 100644 --- a/include/boost/geometry/strategies/covered_by.hpp +++ b/include/boost/geometry/strategies/covered_by.hpp @@ -52,8 +52,8 @@ template < typename GeometryContained, typename GeometryContaining, - typename TagContained = typename tag::type, - typename TagContaining = typename tag::type, + typename TagContained = tag_t, + typename TagContaining = tag_t, typename CastedTagContained = tag_cast_t < tag_t, diff --git a/include/boost/geometry/strategies/densify/services.hpp b/include/boost/geometry/strategies/densify/services.hpp index a984c3e45..544cb5925 100644 --- a/include/boost/geometry/strategies/densify/services.hpp +++ b/include/boost/geometry/strategies/densify/services.hpp @@ -27,7 +27,7 @@ namespace services template < typename Geometry, - typename CSTag = typename geometry::cs_tag::type + typename CSTag = geometry::cs_tag_t > struct default_strategy { diff --git a/include/boost/geometry/strategies/detail.hpp b/include/boost/geometry/strategies/detail.hpp index 1b723fc6e..afdbb6b2f 100644 --- a/include/boost/geometry/strategies/detail.hpp +++ b/include/boost/geometry/strategies/detail.hpp @@ -47,7 +47,7 @@ struct is_umbrella_strategy struct cartesian_base : umbrella_strategy { - typedef cartesian_tag cs_tag; + using cs_tag = cartesian_tag; }; template @@ -60,7 +60,7 @@ protected: >::type radius_type; public: - typedef spherical_tag cs_tag; + using cs_tag = spherical_tag; spherical_base() : m_radius(1.0) @@ -95,7 +95,7 @@ protected: typedef double radius_type; public: - typedef spherical_tag cs_tag; + using cs_tag = spherical_tag; srs::sphere model() const { @@ -113,7 +113,7 @@ template class geographic_base : umbrella_strategy { public: - typedef geographic_tag cs_tag; + using cs_tag = geographic_tag; geographic_base() : m_spheroid() diff --git a/include/boost/geometry/strategies/discrete_distance/services.hpp b/include/boost/geometry/strategies/discrete_distance/services.hpp index 5776a8c7e..b1b7848d9 100644 --- a/include/boost/geometry/strategies/discrete_distance/services.hpp +++ b/include/boost/geometry/strategies/discrete_distance/services.hpp @@ -28,8 +28,8 @@ template < typename Geometry1, typename Geometry2, - typename CSTag1 = typename geometry::cs_tag::type, - typename CSTag2 = typename geometry::cs_tag::type + typename CSTag1 = geometry::cs_tag_t, + typename CSTag2 = geometry::cs_tag_t > struct default_strategy { diff --git a/include/boost/geometry/strategies/distance/services.hpp b/include/boost/geometry/strategies/distance/services.hpp index 5ce3cd98b..a4f08aba1 100644 --- a/include/boost/geometry/strategies/distance/services.hpp +++ b/include/boost/geometry/strategies/distance/services.hpp @@ -30,8 +30,8 @@ template < typename Geometry1, typename Geometry2, - typename CSTag1 = typename geometry::cs_tag::type, - typename CSTag2 = typename geometry::cs_tag::type + typename CSTag1 = geometry::cs_tag_t, + typename CSTag2 = geometry::cs_tag_t > struct default_strategy { @@ -54,8 +54,8 @@ template typename Geometry1, typename Geometry2, typename Strategy, - typename CSTag1 = typename geometry::cs_tag::type, - typename CSTag2 = typename geometry::cs_tag::type + typename CSTag1 = geometry::cs_tag_t, + typename CSTag2 = geometry::cs_tag_t > struct custom_strategy_converter { diff --git a/include/boost/geometry/strategies/envelope/services.hpp b/include/boost/geometry/strategies/envelope/services.hpp index f74c19815..1535b0a5f 100644 --- a/include/boost/geometry/strategies/envelope/services.hpp +++ b/include/boost/geometry/strategies/envelope/services.hpp @@ -25,7 +25,7 @@ template < typename Geometry, typename Box, - typename CSTag = typename geometry::cs_tag::type + typename CSTag = geometry::cs_tag_t > struct default_strategy { diff --git a/include/boost/geometry/strategies/expand/services.hpp b/include/boost/geometry/strategies/expand/services.hpp index a636355db..c4c622ece 100644 --- a/include/boost/geometry/strategies/expand/services.hpp +++ b/include/boost/geometry/strategies/expand/services.hpp @@ -25,7 +25,7 @@ template < typename Box, typename Geometry, - typename CSTag = typename geometry::cs_tag::type + typename CSTag = geometry::cs_tag_t > struct default_strategy { diff --git a/include/boost/geometry/strategies/geographic/distance_segment_box.hpp b/include/boost/geometry/strategies/geographic/distance_segment_box.hpp index 552bfcdbe..a24a36a61 100644 --- a/include/boost/geometry/strategies/geographic/distance_segment_box.hpp +++ b/include/boost/geometry/strategies/geographic/distance_segment_box.hpp @@ -58,7 +58,7 @@ struct geographic_segment_box > {}; - typedef geographic_tag cs_tag; + using cs_tag = geographic_tag; //constructor diff --git a/include/boost/geometry/strategies/geographic/intersection.hpp b/include/boost/geometry/strategies/geographic/intersection.hpp index 97b2ad592..c593d1917 100644 --- a/include/boost/geometry/strategies/geographic/intersection.hpp +++ b/include/boost/geometry/strategies/geographic/intersection.hpp @@ -78,7 +78,7 @@ template > struct geographic_segments { - typedef geographic_tag cs_tag; + using cs_tag = geographic_tag; enum intersection_point_flag { ipi_inters = 0, ipi_at_a1, ipi_at_a2, ipi_at_b1, ipi_at_b2 }; diff --git a/include/boost/geometry/strategies/geographic/side.hpp b/include/boost/geometry/strategies/geographic/side.hpp index a0b4abc81..50c7e98e0 100644 --- a/include/boost/geometry/strategies/geographic/side.hpp +++ b/include/boost/geometry/strategies/geographic/side.hpp @@ -65,7 +65,7 @@ template class geographic { public: - typedef geographic_tag cs_tag; + using cs_tag = geographic_tag; geographic() = default; diff --git a/include/boost/geometry/strategies/index/services.hpp b/include/boost/geometry/strategies/index/services.hpp index 635a8523d..d6cc2e228 100644 --- a/include/boost/geometry/strategies/index/services.hpp +++ b/include/boost/geometry/strategies/index/services.hpp @@ -24,7 +24,7 @@ namespace strategies { namespace index { namespace services template < typename Geometry, - typename CSTag = typename geometry::cs_tag::type + typename CSTag = geometry::cs_tag_t > struct default_strategy { diff --git a/include/boost/geometry/strategies/io/services.hpp b/include/boost/geometry/strategies/io/services.hpp index 2577f06aa..8ccf6ca17 100644 --- a/include/boost/geometry/strategies/io/services.hpp +++ b/include/boost/geometry/strategies/io/services.hpp @@ -27,7 +27,7 @@ namespace services template < typename Geometry, - typename CSTag = typename geometry::cs_tag::type + typename CSTag = geometry::cs_tag_t > struct default_strategy { diff --git a/include/boost/geometry/strategies/is_convex/services.hpp b/include/boost/geometry/strategies/is_convex/services.hpp index 7302f6dcb..7309ddf4f 100644 --- a/include/boost/geometry/strategies/is_convex/services.hpp +++ b/include/boost/geometry/strategies/is_convex/services.hpp @@ -28,7 +28,7 @@ namespace services template < typename Geometry, - typename CSTag = typename geometry::cs_tag::type + typename CSTag = geometry::cs_tag_t > struct default_strategy { diff --git a/include/boost/geometry/strategies/length/services.hpp b/include/boost/geometry/strategies/length/services.hpp index 0b17f9e44..27436bc24 100644 --- a/include/boost/geometry/strategies/length/services.hpp +++ b/include/boost/geometry/strategies/length/services.hpp @@ -27,7 +27,7 @@ namespace services template < typename Geometry, - typename CSTag = typename geometry::cs_tag::type + typename CSTag = geometry::cs_tag_t > struct default_strategy { diff --git a/include/boost/geometry/strategies/line_interpolate/services.hpp b/include/boost/geometry/strategies/line_interpolate/services.hpp index 95ba215bc..b46bf71f2 100644 --- a/include/boost/geometry/strategies/line_interpolate/services.hpp +++ b/include/boost/geometry/strategies/line_interpolate/services.hpp @@ -27,7 +27,7 @@ namespace services template < typename Geometry, - typename CSTag = typename geometry::cs_tag::type + typename CSTag = geometry::cs_tag_t > struct default_strategy { diff --git a/include/boost/geometry/strategies/relate/services.hpp b/include/boost/geometry/strategies/relate/services.hpp index cf9f7c97d..afd1251d6 100644 --- a/include/boost/geometry/strategies/relate/services.hpp +++ b/include/boost/geometry/strategies/relate/services.hpp @@ -28,8 +28,8 @@ template < typename Geometry1, typename Geometry2, - typename CSTag1 = typename geometry::cs_tag::type, - typename CSTag2 = typename geometry::cs_tag::type + typename CSTag1 = geometry::cs_tag_t, + typename CSTag2 = geometry::cs_tag_t > struct default_strategy { diff --git a/include/boost/geometry/strategies/simplify/services.hpp b/include/boost/geometry/strategies/simplify/services.hpp index 6f6034317..78eb4ba3d 100644 --- a/include/boost/geometry/strategies/simplify/services.hpp +++ b/include/boost/geometry/strategies/simplify/services.hpp @@ -27,7 +27,7 @@ namespace services template < typename Geometry, - typename CSTag = typename geometry::cs_tag::type + typename CSTag = geometry::cs_tag_t > struct default_strategy { diff --git a/include/boost/geometry/strategies/spherical/compare.hpp b/include/boost/geometry/strategies/spherical/compare.hpp index a8e829fe2..85586fc44 100644 --- a/include/boost/geometry/strategies/spherical/compare.hpp +++ b/include/boost/geometry/strategies/spherical/compare.hpp @@ -143,11 +143,8 @@ struct spherical_longitude using same_units_type = std::is_same; using units_type = std::conditional_t; - static const bool is_equatorial = ! std::is_same - < - typename geometry::cs_tag::type, - geometry::spherical_polar_tag - >::value; + static const bool is_equatorial = + ! std::is_same, geometry::spherical_polar_tag>::value; static inline bool are_both_at_antimeridian(coordinate1_type const& l0, coordinate2_type const& r0, diff --git a/include/boost/geometry/strategies/spherical/distance_segment_box.hpp b/include/boost/geometry/strategies/spherical/distance_segment_box.hpp index cbbdc2a52..6396b6100 100644 --- a/include/boost/geometry/strategies/spherical/distance_segment_box.hpp +++ b/include/boost/geometry/strategies/spherical/distance_segment_box.hpp @@ -65,7 +65,7 @@ struct generic_segment_box < std::is_same < - typename geometry::cs_tag::type, + geometry::cs_tag_t, spherical_polar_tag >::value, spherical_polar_tag, spherical_equatorial_tag @@ -216,7 +216,7 @@ struct spherical_segment_box > {}; - typedef spherical_tag cs_tag; + using cs_tag = spherical_tag; // constructors diff --git a/include/boost/geometry/strategies/spherical/get_radius.hpp b/include/boost/geometry/strategies/spherical/get_radius.hpp index 01a924319..2a45c7688 100644 --- a/include/boost/geometry/strategies/spherical/get_radius.hpp +++ b/include/boost/geometry/strategies/spherical/get_radius.hpp @@ -32,7 +32,7 @@ namespace strategy_detail template < typename RadiusTypeOrSphere, - typename Tag = typename tag::type + typename Tag = tag_t > struct get_radius { diff --git a/include/boost/geometry/strategies/spherical/intersection.hpp b/include/boost/geometry/strategies/spherical/intersection.hpp index 0cc547786..4027addd5 100644 --- a/include/boost/geometry/strategies/spherical/intersection.hpp +++ b/include/boost/geometry/strategies/spherical/intersection.hpp @@ -94,7 +94,7 @@ template > struct ecef_segments { - typedef spherical_tag cs_tag; + using cs_tag = spherical_tag; enum intersection_point_flag { ipi_inters = 0, ipi_at_a1, ipi_at_a2, ipi_at_b1, ipi_at_b2 }; diff --git a/include/boost/geometry/strategies/spherical/point_in_point.hpp b/include/boost/geometry/strategies/spherical/point_in_point.hpp index 242c22010..7381cb0d5 100644 --- a/include/boost/geometry/strategies/spherical/point_in_point.hpp +++ b/include/boost/geometry/strategies/spherical/point_in_point.hpp @@ -59,7 +59,7 @@ namespace detail { namespace within class point_point_on_spheroid { public: - typedef spherical_tag cs_tag; + using cs_tag = spherical_tag; private: template diff --git a/include/boost/geometry/strategies/spherical/point_in_poly_winding.hpp b/include/boost/geometry/strategies/spherical/point_in_poly_winding.hpp index d60ea19b4..bdf5dcddc 100644 --- a/include/boost/geometry/strategies/spherical/point_in_poly_winding.hpp +++ b/include/boost/geometry/strategies/spherical/point_in_poly_winding.hpp @@ -122,7 +122,7 @@ class spherical_winding_base }; public: - typedef typename SideStrategy::cs_tag cs_tag; + using cs_tag = typename SideStrategy::cs_tag; spherical_winding_base() = default; diff --git a/include/boost/geometry/strategies/spherical/point_order.hpp b/include/boost/geometry/strategies/spherical/point_order.hpp index 3f9eb8ce4..fb064ad97 100644 --- a/include/boost/geometry/strategies/spherical/point_order.hpp +++ b/include/boost/geometry/strategies/spherical/point_order.hpp @@ -95,11 +95,8 @@ namespace strategy { namespace point_order // template // static void convert_latitudes(CalcT & lat1, CalcT & lat2) // { -// static const bool is_polar = std::is_same -// < -// typename geometry::cs_tag::type, -// spherical_polar_tag -// >::value; +// static const bool is_polar = +// std::is_same, spherical_polar_tag>::value; // // if BOOST_GEOMETRY_CONSTEXPR (is_polar) // { diff --git a/include/boost/geometry/strategies/spherical/ssf.hpp b/include/boost/geometry/strategies/spherical/ssf.hpp index 2d29c400c..c6a70f834 100644 --- a/include/boost/geometry/strategies/spherical/ssf.hpp +++ b/include/boost/geometry/strategies/spherical/ssf.hpp @@ -86,7 +86,7 @@ class spherical_side_formula { public : - typedef spherical_tag cs_tag; + using cs_tag = spherical_tag; template static inline int apply(P1 const& p1, P2 const& p2, P const& p) diff --git a/include/boost/geometry/strategy/cartesian/envelope.hpp b/include/boost/geometry/strategy/cartesian/envelope.hpp index f77907342..24af22769 100644 --- a/include/boost/geometry/strategy/cartesian/envelope.hpp +++ b/include/boost/geometry/strategy/cartesian/envelope.hpp @@ -41,7 +41,7 @@ template class cartesian { public: - typedef cartesian_tag cs_tag; + using cs_tag = cartesian_tag; // Linestring, Ring, Polygon diff --git a/include/boost/geometry/strategy/cartesian/envelope_box.hpp b/include/boost/geometry/strategy/cartesian/envelope_box.hpp index c4e808dd3..160ea591d 100644 --- a/include/boost/geometry/strategy/cartesian/envelope_box.hpp +++ b/include/boost/geometry/strategy/cartesian/envelope_box.hpp @@ -80,7 +80,7 @@ namespace strategy { namespace envelope struct cartesian_box { - typedef cartesian_tag cs_tag; + using cs_tag = cartesian_tag; template static inline void apply(BoxIn const& box_in, BoxOut& mbr) diff --git a/include/boost/geometry/strategy/cartesian/side_robust.hpp b/include/boost/geometry/strategy/cartesian/side_robust.hpp index c8405e932..1483cd7e9 100644 --- a/include/boost/geometry/strategy/cartesian/side_robust.hpp +++ b/include/boost/geometry/strategy/cartesian/side_robust.hpp @@ -96,7 +96,7 @@ struct side_robust public: - typedef cartesian_tag cs_tag; + using cs_tag = cartesian_tag; //! \brief Computes the sign of the CCW triangle p1, p2, p template diff --git a/include/boost/geometry/strategy/geographic/envelope.hpp b/include/boost/geometry/strategy/geographic/envelope.hpp index fb61a4595..1218dd259 100644 --- a/include/boost/geometry/strategy/geographic/envelope.hpp +++ b/include/boost/geometry/strategy/geographic/envelope.hpp @@ -45,7 +45,7 @@ class geographic : public spherical { public: - typedef geographic_tag cs_tag; + using cs_tag = geographic_tag; typedef Spheroid model_type; diff --git a/include/boost/geometry/strategy/relate.hpp b/include/boost/geometry/strategy/relate.hpp index 507d5ad05..35295bea1 100644 --- a/include/boost/geometry/strategy/relate.hpp +++ b/include/boost/geometry/strategy/relate.hpp @@ -40,8 +40,8 @@ template < typename Point, typename Geometry, - typename Tag1 = typename tag::type, - typename Tag2 = typename tag::type + typename Tag1 = tag_t, + typename Tag2 = tag_t > struct default_strategy : strategy::within::services::default_strategy diff --git a/include/boost/geometry/strategy/spherical/envelope.hpp b/include/boost/geometry/strategy/spherical/envelope.hpp index fe225ba72..a6937020b 100644 --- a/include/boost/geometry/strategy/spherical/envelope.hpp +++ b/include/boost/geometry/strategy/spherical/envelope.hpp @@ -41,7 +41,7 @@ template class spherical { public: - typedef spherical_tag cs_tag; + using cs_tag = spherical_tag; // Linestring, Ring, Polygon diff --git a/include/boost/geometry/strategy/spherical/envelope_box.hpp b/include/boost/geometry/strategy/spherical/envelope_box.hpp index 66cddbbc1..99f318146 100644 --- a/include/boost/geometry/strategy/spherical/envelope_box.hpp +++ b/include/boost/geometry/strategy/spherical/envelope_box.hpp @@ -34,7 +34,7 @@ namespace strategy { namespace envelope struct spherical_box : geometry::detail::envelope::envelope_box_on_spheroid { - typedef spherical_tag cs_tag; + using cs_tag = spherical_tag; }; diff --git a/include/boost/geometry/strategy/spherical/envelope_range.hpp b/include/boost/geometry/strategy/spherical/envelope_range.hpp index 986932196..7124e802a 100644 --- a/include/boost/geometry/strategy/spherical/envelope_range.hpp +++ b/include/boost/geometry/strategy/spherical/envelope_range.hpp @@ -80,7 +80,7 @@ inline void spheroidal_linestring(Range const& range, Box& mbr, template struct side_of_pole { - typedef spherical_tag cs_tag; + using cs_tag = spherical_tag; template static inline int apply(P const& p1, P const& p2, P const& pole) diff --git a/include/boost/geometry/strategy/spherical/envelope_segment.hpp b/include/boost/geometry/strategy/spherical/envelope_segment.hpp index 65a56c01b..f211e0bab 100644 --- a/include/boost/geometry/strategy/spherical/envelope_segment.hpp +++ b/include/boost/geometry/strategy/spherical/envelope_segment.hpp @@ -343,7 +343,7 @@ public: Box& mbr, Strategy const& strategy) { - typedef envelope_segment_convert_polar> convert_polar; + using convert_polar = envelope_segment_convert_polar>; convert_polar::pre(lat1, lat2); diff --git a/include/boost/geometry/views/box_view.hpp b/include/boost/geometry/views/box_view.hpp index 49338b3eb..3ba6516ec 100644 --- a/include/boost/geometry/views/box_view.hpp +++ b/include/boost/geometry/views/box_view.hpp @@ -92,7 +92,7 @@ namespace traits template struct tag > { - typedef ring_tag type; + using type = ring_tag; }; template diff --git a/include/boost/geometry/views/detail/boundary_view/implementation.hpp b/include/boost/geometry/views/detail/boundary_view/implementation.hpp index df9842d1f..277ce1be6 100644 --- a/include/boost/geometry/views/detail/boundary_view/implementation.hpp +++ b/include/boost/geometry/views/detail/boundary_view/implementation.hpp @@ -231,7 +231,7 @@ public: }; -template ::type> +template > struct num_rings {}; @@ -255,7 +255,7 @@ struct num_rings }; -template ::type> +template > struct views_container_initializer {}; diff --git a/include/boost/geometry/views/detail/boundary_view/interface.hpp b/include/boost/geometry/views/detail/boundary_view/interface.hpp index 4d0b6d030..35b1215a4 100644 --- a/include/boost/geometry/views/detail/boundary_view/interface.hpp +++ b/include/boost/geometry/views/detail/boundary_view/interface.hpp @@ -22,7 +22,7 @@ namespace boost { namespace geometry namespace detail_dispatch { -template ::type> +template > struct boundary_view : not_implemented {}; diff --git a/include/boost/geometry/views/detail/two_dimensional_view.hpp b/include/boost/geometry/views/detail/two_dimensional_view.hpp index 0b5c09e55..3ce20b385 100644 --- a/include/boost/geometry/views/detail/two_dimensional_view.hpp +++ b/include/boost/geometry/views/detail/two_dimensional_view.hpp @@ -37,7 +37,7 @@ template typename Geometry, std::size_t Dimension1 = 0, std::size_t Dimension2 = 1, - typename Tag = typename tag::type + typename Tag = tag_t > struct two_dimensional_view : not_implemented @@ -85,7 +85,7 @@ struct tag > > { - typedef point_tag type; + using type = point_tag; }; template diff --git a/include/boost/geometry/views/segment_view.hpp b/include/boost/geometry/views/segment_view.hpp index 4423ead6c..24db8d6cb 100644 --- a/include/boost/geometry/views/segment_view.hpp +++ b/include/boost/geometry/views/segment_view.hpp @@ -88,7 +88,7 @@ namespace traits template struct tag > { - typedef linestring_tag type; + using type = linestring_tag; }; } diff --git a/test/algorithms/distance/distance_brute_force.hpp b/test/algorithms/distance/distance_brute_force.hpp index b049d162f..f4a82025c 100644 --- a/test/algorithms/distance/distance_brute_force.hpp +++ b/test/algorithms/distance/distance_brute_force.hpp @@ -45,9 +45,9 @@ struct distance_from_bg struct use_distance_from_bg : util::bool_constant < - std::is_same::type, point_tag>::value - || std::is_same::type, segment_tag>::value - || std::is_same::type, box_tag>::value + std::is_same, point_tag>::value + || std::is_same, segment_tag>::value + || std::is_same, box_tag>::value > {}; diff --git a/test/test_common/test_point.hpp b/test/test_common/test_point.hpp index 42a0f11b4..b5c2766e2 100644 --- a/test/test_common/test_point.hpp +++ b/test/test_common/test_point.hpp @@ -56,7 +56,7 @@ struct test_const_point namespace boost { namespace geometry { namespace traits { template<> -struct tag { typedef point_tag type; }; +struct tag { using type = point_tag; }; template<> struct coordinate_type { typedef float type; }; diff --git a/test/test_common/with_pointer.hpp b/test/test_common/with_pointer.hpp index 1e77e0e64..58469cc52 100644 --- a/test/test_common/with_pointer.hpp +++ b/test/test_common/with_pointer.hpp @@ -45,7 +45,7 @@ struct test_point_xy namespace boost { namespace geometry { namespace traits { template<> struct tag -{ typedef point_tag type; }; +{ using type = point_tag; }; template<> struct coordinate_type { typedef double type; }; diff --git a/test/test_geometries/all_custom_linestring.hpp b/test/test_geometries/all_custom_linestring.hpp index a2a3c4a12..034b90e93 100644 --- a/test/test_geometries/all_custom_linestring.hpp +++ b/test/test_geometries/all_custom_linestring.hpp @@ -37,7 +37,7 @@ namespace traits template struct tag > { - typedef linestring_tag type; + using type = linestring_tag; }; diff --git a/test/test_geometries/all_custom_polygon.hpp b/test/test_geometries/all_custom_polygon.hpp index 7e385f971..2b2e0ccc5 100644 --- a/test/test_geometries/all_custom_polygon.hpp +++ b/test/test_geometries/all_custom_polygon.hpp @@ -55,7 +55,7 @@ namespace traits template struct tag > { - typedef polygon_tag type; + using type = polygon_tag; }; template diff --git a/test/test_geometries/all_custom_ring.hpp b/test/test_geometries/all_custom_ring.hpp index e49acea9b..d423863e4 100644 --- a/test/test_geometries/all_custom_ring.hpp +++ b/test/test_geometries/all_custom_ring.hpp @@ -42,7 +42,7 @@ namespace traits template struct tag > { - typedef ring_tag type; + using type = ring_tag; }; diff --git a/test/test_geometries/const_point.hpp b/test/test_geometries/const_point.hpp index 8a1b9c757..d138ce84a 100644 --- a/test/test_geometries/const_point.hpp +++ b/test/test_geometries/const_point.hpp @@ -31,7 +31,7 @@ using ring_of_const_point = std::vector; // Register a vector of const_pos as a non-const-ring with const points namespace boost { namespace geometry { namespace traits { - template<> struct tag { typedef ring_tag type; }; + template<> struct tag { using type = ring_tag; }; }}} @@ -39,7 +39,7 @@ using linestring_of_const_point = std::deque; // Register a vector of const_pos as a non-const-ring with const points namespace boost { namespace geometry { namespace traits { - template<> struct tag { typedef linestring_tag type; }; + template<> struct tag { using type = linestring_tag; }; }}} diff --git a/test/test_geometries/copy_on_dereference_geometries.hpp b/test/test_geometries/copy_on_dereference_geometries.hpp index 2d7d9d6ed..e2be7cec5 100644 --- a/test/test_geometries/copy_on_dereference_geometries.hpp +++ b/test/test_geometries/copy_on_dereference_geometries.hpp @@ -160,13 +160,13 @@ namespace traits template struct tag< multipoint_copy_on_dereference > { - typedef multi_point_tag type; + using type = multi_point_tag; }; template struct tag< linestring_copy_on_dereference > { - typedef linestring_tag type; + using type = linestring_tag; }; } // namespace traits diff --git a/test/test_geometries/custom_lon_lat_point.hpp b/test/test_geometries/custom_lon_lat_point.hpp index 5c0dc0d9d..591f97de2 100644 --- a/test/test_geometries/custom_lon_lat_point.hpp +++ b/test/test_geometries/custom_lon_lat_point.hpp @@ -32,7 +32,7 @@ namespace boost { namespace geometry { namespace traits template struct tag > { - typedef point_tag type; + using type = point_tag; }; template @@ -90,7 +90,7 @@ namespace boost { namespace geometry { namespace traits template struct tag > { - typedef point_tag type; + using type = point_tag; }; template diff --git a/test/test_geometries/wrapped_boost_array.hpp b/test/test_geometries/wrapped_boost_array.hpp index 9dc723589..bb8aab287 100644 --- a/test/test_geometries/wrapped_boost_array.hpp +++ b/test/test_geometries/wrapped_boost_array.hpp @@ -117,7 +117,7 @@ namespace boost { namespace geometry { namespace traits template struct tag< wrapped_boost_array > { - typedef linestring_tag type; + using type = linestring_tag; }; template