Commit Graph

8416 Commits

Author SHA1 Message Date
Adam Wulkiewicz
1186dedeb8 [strategies] Add ctors, store substrategy and propagate radius in distance segment/box strategy. 2020-10-22 03:33:09 +02:00
Adam Wulkiewicz
6b74f7c8a3 Support umbrella strategies in relops, setops, index, buffer and more.
Also is_simple, is_valid and extensions like dissolve and nsphere relops.

Add umbrella strategies:
 - relate: used in setops, relops, buffer, is_xxx, dissolve, etc.
 - index: used in rtree
 - io: used in wkt read/write and extensions/shapefile

Replace `point_box_by_side` agnostic strategy with CS-specific strategies.

Fix passing of strategies (no defaults when user-defined strategy is
passed) in places like buffer and distance.

Alter tests accordingly.
2020-10-21 17:42:02 +02:00
Adam Wulkiewicz
1243579bf0 Merge pull request #767 from awulkiew/feature/tuple
Modernize tuple-related code.
2020-10-21 16:34:03 +02:00
Adam Wulkiewicz
3402c9101d Replace boost::tuple with std::tuple or custom classes.
Modernize tuple support.
2020-10-21 16:21:06 +02:00
Barend Gehrels
9989780d41 Merge pull request #758 from barendgehrels/test/add_limits
Conform the countset, replace many #ifdefs with expectation limits
2020-10-21 10:21:17 +02:00
Barend Gehrels
5f677775ef [TEST] Conform the countset, replace many #ifdefs with expectation limits and apply it for float, double, long double (in many tests) 2020-10-21 10:18:56 +02:00
Adam Wulkiewicz
4c1a7f8f3d Merge pull request #766 from awulkiew/feature/range
Include only necessary headers of Boost.Range.
2020-10-18 18:14:28 +02:00
Adam Wulkiewicz
e3b190c5b2 Merge pull request #755 from ayaankhan98/develop
[fix] #750: misspelled config macros
2020-10-16 16:26:09 +02:00
Adam Wulkiewicz
54f141779b Include only necessary headers of Boost.Range. 2020-10-16 01:23:06 +02:00
Adam Wulkiewicz
7b8b3f694a Merge pull request #759 from awulkiew/feature/static_assert
Replace MPL_ASSERT with std static_assert.
2020-10-16 01:03:34 +02:00
Adam Wulkiewicz
aeb81ebfd6 Replace MPL_ASSERT with std static_assert.
Also include only necessary headers from Boost.Range.
2020-10-16 00:31:22 +02:00
Barend Gehrels
6e5d9a136f Merge pull request #762 from barendgehrels/test/robustness
[test] Update robustness tests:
2020-10-13 18:26:11 +02:00
Barend Gehrels
64c09d07f0 Merge pull request #761 from barendgehrels/remove-ttmath
Remove ttmath
2020-10-13 18:25:34 +02:00
Adam Wulkiewicz
169ccae36d [ci] Get public key for LLVM in github script. 2020-10-12 20:37:10 +02:00
Adam Wulkiewicz
b6a427e65f Merge pull request #751 from lpranam/c2146
resolve c2146 on vs15 with area_result declaration
2020-10-12 20:12:37 +02:00
Pranam Lashkari
055684bc41 resolve c2146 on vs15 with area_result declaration 2020-10-12 19:12:54 +05:30
Barend Gehrels
29d0a0fc5a [test] Update robustness tests: Remove boost.timer, adapt for multi precision, align with each other 2020-10-07 16:50:06 +02:00
Barend Gehrels
84e19aff1c [extensions] remove HAVE_TTMATH and other occurances of ttmath 2020-10-07 14:06:04 +02:00
Barend Gehrels
45d624af9b [cleanup] remove HAVE_TTMATH and other occurances of ttmath 2020-10-07 14:05:28 +02:00
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
Ayaan Khan
83d8987426 [fix] #750: misspelled config macros 2020-09-24 12:39:12 +05:30
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