Commit Graph

342 Commits

Author SHA1 Message Date
Peter Dimov
2fb81c2453 Update version 2025-06-28 08:20:51 +03:00
Peter Dimov
1a99027e8c Add an alternative implementation of mp_map_find for GCC 14+. Fixes #106. 2025-05-08 15:50:59 +03:00
Peter Dimov
9910ada772 Clang considers the specialization ambiguous in C++17 and above, rewrite. Fixes #103. 2025-01-07 22:52:07 +02:00
Peter Dimov
7ca1e0a92b Add a specialization of mp_from_sequence_impl to handle the defaulted offset case. Fixes #103. 2025-01-07 21:10:14 +02:00
Peter Dimov
82533c431e Do not use fold expressions for mp_find and mp_find_if 2024-12-21 21:48:37 +02:00
Peter Dimov
b108e01927 Update version 2024-12-13 22:43:40 +02:00
joaquintides
28929d9794 kept old impl for msvc 12.0 2024-11-08 22:07:10 +01:00
joaquintides
c2bc9788ca made mp_is_set<S> robust when S is not a list 2024-11-08 19:50:48 +01:00
joaquintides
13a81c86ee added missing #include 2024-11-08 19:21:27 +01:00
joaquintides
fb79d23aac improved performance of mp_is_set 2024-11-08 19:08:50 +01:00
Peter Dimov
1caff7ffa9 Change second occurrence of the same code in mp_count.hpp to match 2024-10-22 19:50:32 +03:00
Chris Ward
44a731d868 Candidate fix
code without "if constexpr"
2024-10-22 08:59:32 +01:00
Peter Dimov
8ceb48b4c9 Stylistic changes to mp_lambda 2024-10-14 19:37:36 +03:00
joaquintides
ead27ca191 Feature/lambda (#96)
* added mp_lambda

* launched GHA

* skipped ICE-generating test in GCC < 4.9

* fixed GCC detection in workaround

* test-skipped and documented GCC 4.8 bug

* added missing s/const/CONST

* tempirarily expanded macro to isolate problem with VS2017

* tried workaround for C3546

* tried another workaround

* wrapped workaround up

* dropped unnecessary devoiding in variadic (member) functions

* temporary code to check VS compliance wrt function qualifiers

* removed version printer

* checked compliance with qualified (member) function partial specialization

* checked each partial specialization individually

* wrapped up VS2013 investigation

* left variadics out of VS2013

* skipped noexcept-involving tests for VS2013 (keyword not supported)

* given up on VS2013 support for mp_lambda

* dropped lambda_devoid_args
2024-10-14 18:15:14 +03:00
Peter Dimov
a064da5757 Update version 2024-08-17 04:25:45 +03:00
Peter Dimov
859a30e46f Update version 2024-04-18 12:06:16 +03:00
Peter Dimov
20fff14a90 Use push_macro/pop_macro to guard against the macro I from <complex.h>. Fixes #88. 2023-12-21 21:55:24 +02:00
Peter Dimov
679834bfdc Update version 2023-12-19 13:20:05 +02:00
Peter Dimov
4db3374eed Add value list support to mp_transform (for up to three lists). Closes #86. 2023-12-18 05:53:20 +02:00
Peter Dimov
ee5f1d620f Add value list support to mp_min_element, mp_max_element. Fixes #87. 2023-12-17 20:37:56 +02:00
Braden Ganetsky
0c491bcd77 Move mp_slice_c and mp_slice into the public API 2023-11-27 19:07:38 -06:00
Peter Dimov
0715df5ca8 Reformulate mp_sliding_fold to pass msvc-14.0 2023-11-27 01:46:58 +02:00
Peter Dimov
629cebd5f8 Merge branch 'develop' of https://github.com/k3DW/mp11 into feature/pr-84 2023-11-26 19:47:53 +02:00
Peter Dimov
e1c4b281ec Update version 2023-08-12 23:44:06 +03:00
Braden Ganetsky
247ffe8afe Add mp_sliding_fold 2023-07-30 22:54:14 -05:00
Ilya Popov
46c4e8a517 Remove usages of old style cast, use static_cast instead
This silences compiler warnings generated by GCC
2023-06-23 16:58:51 +02:00
Peter Dimov
1a8fa7064c Add value list support to mp_drop. Refs #53. 2023-05-16 20:24:06 +03:00
Peter Dimov
c1a012ad45 Add value list support to mp_take. Refs #53. 2023-05-16 19:46:38 +03:00
Peter Dimov
73626ba3bc Add value list support to mp_at. Refs #53. 2023-05-16 19:13:56 +03:00
Peter Dimov
799c2e6079 Add value list support to mp_fill. Refs #53. 2023-05-16 18:34:16 +03:00
Peter Dimov
e93cf70178 Make mp_is_value_list public. Refs #53. 2023-05-16 17:19:23 +03:00
Peter Dimov
efbaa77749 Add test/mp_repeat_3.cpp 2023-05-16 17:02:38 +03:00
Peter Dimov
f19d2d9bd4 Apply the mp_append optimization to the value list case as well 2023-05-16 03:41:49 +03:00
Peter Dimov
64ed9449cb Refactor mp_append slightly 2023-05-16 03:19:32 +03:00
Peter Dimov
64532c4792 Add support for (homogeneous) value lists to mp_append. Refs #53. 2023-05-16 02:37:59 +03:00
Peter Dimov
0113ee9246 Add support for value lists to mp_transform_first, mp_transform_second, mp_transform_third. Refs #53. 2023-05-15 20:11:34 +03:00
Peter Dimov
4545835a8b Add support for value lists to mp_replace_first, mp_replace_second, mp_replace_third. Refs #53. 2023-05-15 18:05:02 +03:00
Peter Dimov
8615aed8e8 Add support for value lists to mp_push_back. Refs #53. 2023-05-15 17:30:09 +03:00
Peter Dimov
7cfb1b9b97 Add support for value lists to mp_push_front. Refs #53. 2023-05-15 16:53:55 +03:00
Peter Dimov
90669f2ff4 Add value list support to mp_second, mp_third. Refs #53. 2023-05-15 15:23:05 +03:00
Peter Dimov
d02f361b1b Add support for value lists to mp_pop_front. Refs #53. 2023-05-15 15:04:15 +03:00
Peter Dimov
2c76388fdb Add support for value lists to mp_front. Refs #53. 2023-05-15 14:59:30 +03:00
Peter Dimov
481755ce7c Add support for value lists to mp_assign, mp_clear. Refs #53. 2023-05-15 14:34:06 +03:00
Peter Dimov
5186e7c294 Add mp_rename_v. Refs #53. 2023-05-14 22:03:39 +03:00
Peter Dimov
ac1b5c96ea Add mp_list_v. Refs #53. 2023-05-14 21:51:08 +03:00
Peter Dimov
7944028c7a Add support for value lists to mp_size. Refs #53. 2023-05-14 21:22:16 +03:00
Peter Dimov
570acee866 Add mp_value; enable mp_rename on value lists. Refs #53. 2023-05-14 19:45:09 +03:00
Peter Dimov
99070f7f5c Add a 'from' parameter to mp_iota, mp_iota_c. Refs #78. 2023-05-14 03:49:50 +03:00
Peter Dimov
b7da04c594 Add an offset parameter to mp_from_sequence 2023-05-14 03:39:39 +03:00
Peter Dimov
773ec9b8b2 Update version 2023-04-15 15:23:26 +03:00