Commit Graph

8396 Commits

Author SHA1 Message Date
Barend Gehrels
869e72fc01 Merge pull request #757 from barendgehrels/test/remove-unused-numeric-types
Clean up antique usage of numeric types in tests and documentation
2020-10-07 10:09:25 +02:00
Adam Wulkiewicz
ab9f1de1ad Merge pull request #748 from awulkiew/feature/type_traits
Remove direct usage of Boost.MPL and Boost.TypeTraits from the library.
2020-10-01 19:06:51 +02:00
Barend Gehrels
3272220a3c [test][doc] Clean up numeric types in tests and adapt documentation 2020-09-30 11:20:44 +02:00
Barend Gehrels
a4b2e6195e Merge pull request #754 from barendgehrels/fix/buffer-mp
Fix/buffer mp
2020-09-30 10:18:33 +02:00
Barend Gehrels
0fd961b595 [buffer] specify the correct types for monotonic sections and partitioning,
and re-introduce moving iterators to monotonic sections because it
performs around 25% better
2020-09-30 10:15:32 +02:00
Barend Gehrels
f77aeabc24 [buffer][test] update robustness test for buffer 2020-09-30 10:15:32 +02:00
Barend Gehrels
5eb1e809e9 [buffer][fix] Fix distance measure for use in multi precision types 2020-09-30 10:14:10 +02:00
Barend Gehrels
5fe26e45b4 Merge pull request #752 from barendgehrels/buffer/fix_type_conflicts
[buffer] Several changes necessary to handle different types
2020-09-13 22:06:09 +02:00
Adam Wulkiewicz
8763d3cae3 [algorithms] Replace mpl::vector_c with std::integer_sequence in sectionalize. 2020-09-11 13:50:04 +02:00
Adam Wulkiewicz
dd5ae391bd Move type_traits and sequence tools to util namespace. 2020-09-10 23:37:55 +02:00
Adam Wulkiewicz
9a248be454 [algorithms] Replace MPL sequences in relate(). 2020-09-10 01:26:39 +02:00
Adam Wulkiewicz
d967c8f08d [geometries] Replace MPL sequence with parameter pack in specialization of point_type for boost::variant. 2020-09-09 18:05:01 +02:00
Adam Wulkiewicz
22b2031dad [util][strategies] Add more sequence utilities, remove type_pair and integer_pair, use sequences instead. 2020-09-09 18:02:50 +02:00
Barend Gehrels
9e1a4373dc [buffer] Several changes necessary to handle different types (float, long double, boost MP) 2020-09-09 14:11:36 +02:00
Adam Wulkiewicz
b0b2fd6b86 [core][util] Deprecate core/is_areal.hpp 2020-09-05 21:56:01 +02:00
Adam Wulkiewicz
9c095f4d37 Implement compile-time sequence utilities and use them instead of MPL.
distance and length result types are reimplemented.

distance result can no longer be variant type. This might rarely occur
if in a variant type there were two geometries using different
coordinate types and one of them were of greater precision than double.

Deprecate combine_if, compress_variant and transform_variant utilities.
2020-09-05 17:44:11 +02:00
Adam Wulkiewicz
52af5408e2 [util] Replace Boost.MPL sequence in promote_integral with parameter pack. 2020-09-04 18:27:54 +02:00
Adam Wulkiewicz
30d9fbba66 Replace select_sequence_element with select_pack_element and use it in area_result. 2020-09-04 17:48:25 +02:00
Adam Wulkiewicz
cf9549d668 Replace boost integral constants with std. 2020-09-03 19:58:49 +02:00
Adam Wulkiewicz
9b09cd2efa Divide type_traits, replace bare_type with remove_cptrref.
Divide type_traits into two groups:
- util/type_traits_std.hpp - dependant only on std type_traits
- util/type_traits.hpp - dependant on geometry tags, also including the
above.

Add remove_cptrref and use it instead of bare_type.

For now keep bare_type, move it to util/type_traits_std.hpp.
2020-09-03 19:32:01 +02:00
Adam Wulkiewicz
00f00369cd Replace add_const_if_c with transcribe_const.
Move add_const_if_c to util/type_traits.hpp
Remove usage when not needed.
2020-09-03 16:26:06 +02:00
Adam Wulkiewicz
c63e7a8394 Move is_range util to range.hpp to avoid Boost.Range/MPL dependency in type_traits.hpp 2020-09-03 16:24:29 +02:00
Adam Wulkiewicz
0dc6ee14d3 [ci] Remove gcc-4.9 from GitHub testing due to lack of full C++14 support. 2020-09-03 13:37:53 +02:00
Adam Wulkiewicz
2654215e38 [test] Replace Boost.MPL/TypeTraits with std type_traits in tests. 2020-09-03 13:37:15 +02:00
Adam Wulkiewicz
d7619d11c2 Replace Boost.MPL/TypeTraits with std type_traits in various parts of the library. 2020-09-03 13:36:18 +02:00
Adam Wulkiewicz
b9a60636e0 [util] Add more type_traits. 2020-09-03 13:35:19 +02:00
Adam Wulkiewicz
6c0490a366 Merge branch 'develop' into feature/type_traits 2020-08-31 23:33:27 +02:00
Adam Wulkiewicz
3cd74503b1 [util] Use std type_traits instead of Boost type_traits/mpl in various utils. 2020-08-31 01:43:44 +02:00
Adam Wulkiewicz
8deda7466c [index] Replace deprecated header. 2020-08-30 04:18:14 +02:00
Adam Wulkiewicz
dda7e6b450 [index] Fix compilation error and warning in varray_detail.
Error with msvc-14.2: ambiguous call to destroy()
  - explicitly define namespace

Warning with gcc-8.1: memcpy called for non-trivially-copyable type
  - check correct type trait
2020-08-30 03:46:09 +02:00
Adam Wulkiewicz
9c4c884a4c [strategies] Use select_calculation_type in buffer::geographic_point_circle. 2020-08-29 17:43:09 +02:00
Adam Wulkiewicz
4b75d69937 Move various traits to util/type_traits.hpp and adapt the code using them. 2020-08-29 01:48:39 +02:00
Adam Wulkiewicz
786bc54c68 Add util/type_traits, polylinear_tag, simplify types in umbrella strategies. 2020-08-28 19:12:31 +02:00
Adam Wulkiewicz
5ca542fc4f Merge pull request #726 from awulkiew/feature/strategies
Umbrella strategies.
2020-08-28 16:16:25 +02:00
Adam Wulkiewicz
0e7972b438 Merge pull request #733 from BenFrantzDale/add-Point-concept-example
Add example showing how std::array<T, N> can model the Point concept
2020-08-24 12:39:05 +02:00
Adam Wulkiewicz
0166c8ea6e Merge pull request #743 from awulkiew/feature/for_each
Refactor for_each_x and implement new algorithms.
2020-08-24 12:37:23 +02:00
Adam Wulkiewicz
7ef3117f27 [for_each] Refactor for_each_x and implement new algorithms.
for_each_range now expects functors instead of structs with apply()
member function.

for_each_segment now calls functor also for degenerated ranges for
consistency with segment_iterator.

New algorithms based on std::all_of, std::any_of and std::none_of
- all_points_of, any_point_of, none_point_of
- all_segments_of, any_segment_of, none_segment_of
- all_ranges_of, any_range_of, none_range_of

New algorithms used in several places in the library.

This code requires C++14.
2020-08-24 12:28:43 +02:00
Adam Wulkiewicz
070480d97c Merge pull request #745 from awulkiew/feature/constexpr
Support constexpr in points, segment, box, get, dot and cross products.
2020-08-24 12:26:52 +02:00
Barend Gehrels
5813841757 Merge pull request #744 from barendgehrels/fix/remove_is_ii
[get_turn_info] Remove the recently added is_ii
2020-08-19 09:51:30 +02:00
Adam Wulkiewicz
0326eaf679 [arithmetic][core][geometries] Support constexpr in points, segment, box, get, dot and cross products. 2020-08-16 00:50:35 +02:00
Adam Wulkiewicz
99fe9fe6c6 [is_valid] Add TODO comments in is_valid for linestrings. 2020-08-13 19:19:32 +02:00
Barend Gehrels
7739109b3b [get_turn_info] Remove the recently added is_ii 2020-08-12 11:39:22 +02:00
Adam Wulkiewicz
f135e44ea0 [gh] Remove unsupported compilers/standards from GH workflows. 2020-08-11 23:03:22 +02:00
Adam Wulkiewicz
734b6470af [strategies] Add missing #includes. 2020-08-10 21:06:46 +02:00
Barend Gehrels
8251f19331 Merge pull request #741 from barendgehrels/fix/handle_as_touch
Fix/handle as touch
2020-08-10 20:46:00 +02:00
Adam Wulkiewicz
8064492b06 Merge pull request #740 from awulkiew/fix/dangling_references
Fix dangling references for referring_segment and proxy references returned by iterators.
2020-08-10 20:27:37 +02:00
Adam Wulkiewicz
98617679bb [algorithms] Fix dangling references for referring_segment and non-true references returned from ranges. 2020-08-10 12:40:55 +02:00
Adam Wulkiewicz
52cceae021 [strategies] Relocate area, envelope and expand strategies. 2020-08-05 22:59:13 +02:00
Barend Gehrels
adef6b24de [turns] handle ii-situation in touch,
which is a new situation which needs to be handled in the handle-as-touch,
in last commit.
2020-08-05 11:10:15 +02:00
Barend Gehrels
dfbbfc0a87 [turns] if the touch-interior touches near the end (near the IP), then handle
it as if it is a touch
2020-08-05 10:43:35 +02:00