Commit Graph

222 Commits

Author SHA1 Message Date
Glen Fernandes
f387448581 Implement mp_starts_with 2018-08-31 15:09:22 -04:00
Peter Dimov
2364f79088 Fix mp_bind for msvc-14.1 1915 (15.8) 2018-08-30 01:23:05 +03:00
Peter Dimov
8893227365 Disable fold expressions in mp_plus for msvc-14.1 1915 (15.8) 2018-08-30 01:09:39 +03:00
Peter Dimov
a376598a04 Try to work around ::gets errors on clang 3.x/c++14/libstdc++ 4.8 2018-08-29 22:07:08 +03:00
Peter Dimov
76817e70d6 Remove use of Boost.Config 2018-08-29 20:03:59 +03:00
Peter Dimov
f2af9c2be4 Update g++ 7 workarounds to cover g++ 8.1 2018-06-28 20:31:54 +03:00
Alexander Matthes
6cd7355d94 Changed precompiler test for cuda 9 workaround
BOOST_WORKAROUND( BOOST_CUDA_VERSION, / 1000000 == 9 ) was not working because
BOOST_CUDA_VERSION is defined as sum without brackets so / 1000000 was only
applied to the last addend.
2018-04-27 08:52:54 +02:00
Alexander Matthes
b78e808fc1 Merge branch 'develop' of github.com:boostorg/mp11 into workaround-nvcc-cuda 2018-04-26 20:29:02 +02:00
Alexander Matthes
2458880e77 Added work around for Nvidia nvcc cuda compiler >= 9.0
* https://svn.boost.org/trac10/ticket/13513
* https://github.com/ComputationalRadiationPhysics/alpaka/issues/459#issuecomment-377678240
2018-04-26 19:10:57 +02:00
Axel Huebl
c24fe1750c
Clang -x cuda: >>> mixmatch 2018-04-26 10:53:59 +02:00
Peter Dimov
88485f900a Bump another g++ 7.2 workaround to 7.3 2018-04-25 19:15:18 +03:00
Peter Dimov
aa33b6426c Update g++ 7.2 workaround to 7.3 2018-04-25 15:51:39 +03:00
Peter Dimov
bad3d5aec3 Evaluate mp_bind_front, mp_bind_back inside mp_bind 2018-04-25 14:20:06 +03:00
Peter Dimov
511f12c91e Use mp_defer in mp_bind_front, mp_bind_back 2018-02-07 23:59:00 +02:00
Peter Dimov
4aacc60840 Replace detail/workaround.hpp with config/workaround.hpp 2018-01-23 21:34:35 +02:00
zerotypos-found
8bffdd64b5 Replace tabs with whitespace characters 2018-01-23 11:41:26 +09:00
Peter Dimov
c2f8024305 Use alternative implementation of mp_valid for Intel C++ 2018-01-18 22:38:29 +02:00
Peter Dimov
f5bb23dc76 Revert "Change mp_void<T...> to be a proper alias of void"
This reverts commit 860f918553.
2017-12-21 02:19:44 +02:00
Peter Dimov
860f918553 Change mp_void<T...> to be a proper alias of void 2017-12-20 20:25:53 +02:00
Peter Dimov
ea073efb43 Move mp_void to detail/mp_void.hpp 2017-12-20 15:58:18 +02:00
Peter Dimov
26e2302f3b Suppress MSVC level 4 warnings 2017-12-12 00:34:17 +02:00
Peter Dimov
c273159c94 Zero-length arrays are an extension 2017-12-12 00:05:18 +02:00
Peter Dimov
cb57cb9e78 Add mp_map_update_q 2017-10-22 03:19:18 +03:00
Peter Dimov
df8217ce97 Add mp_all_of_q, mp_any_of_q, mp_none_of_q 2017-10-22 02:50:29 +03:00
Peter Dimov
0f5c50b195 Add mp_find_if_q 2017-10-22 02:18:40 +03:00
Peter Dimov
aae8d4dfba Add mp_min_element_q, mp_max_element_q 2017-10-22 02:00:56 +03:00
Peter Dimov
806a96e42c Add mp_nth_element_q 2017-10-22 01:47:00 +03:00
Peter Dimov
b229d184ac Add mp_sort_q 2017-10-22 01:34:12 +03:00
Peter Dimov
38654a6884 Add mp_partition_q 2017-10-22 01:25:35 +03:00
Peter Dimov
4cd6a4ff45 Add mp_remove_if_q 2017-10-21 22:13:35 +03:00
Peter Dimov
5741ce6657 Add mp_copy_if_q 2017-10-21 22:03:37 +03:00
Peter Dimov
e4c12368c6 Add mp_replace_if_q 2017-10-21 21:51:14 +03:00
Peter Dimov
4a8d6db171 Add mp_count_if_q 2017-10-21 21:30:51 +03:00
Peter Dimov
c14d6030c2 Add mp_nth_element 2017-10-15 16:56:22 +03:00
Peter Dimov
a5e74b2951 Add mp_less, mp_min, mp_max 2017-10-15 15:52:32 +03:00
Peter Dimov
66b7128253 Move mp_min_element, mp_max_element to detail/mp_min_element.hpp 2017-10-15 14:43:33 +03:00
Peter Dimov
ea68803092 Move mp_fold to detail/mp_fold.hpp 2017-10-15 14:33:50 +03:00
Peter Dimov
67beaa8fc9 Add mp_min_element, mp_max_element 2017-10-14 22:05:49 +03:00
Peter Dimov
e5b4200d24 Add mp_fold_q, mp_reverse_fold_q 2017-10-14 20:26:38 +03:00
Peter Dimov
321f5fdb24 Move mp_assign, mp_clear from algorithm to list 2017-10-14 20:11:02 +03:00
Peter Dimov
018d71bb72 Add mp_list_c, mp_from_sequence 2017-10-14 18:20:29 +03:00
Peter Dimov
a7485736c7 Add mp_is_list 2017-10-14 17:42:02 +03:00
Peter Dimov
30fcc21d8b Add mp_cond 2017-10-14 02:53:38 +03:00
Peter Dimov
602147bf31 Revert "Include workaround.hpp from Config"
This reverts commit 308e5b6edb.

For compatibility with 1.64, it's better not to use
config/workaround.hpp yet.
2017-09-10 03:52:48 +03:00
Glen Fernandes
308e5b6edb Include workaround.hpp from Config 2017-08-27 15:12:05 -04:00
Peter Dimov
bccb9eaa73 Update another g++ 7.1 workaround to 7.2 2017-08-26 11:12:54 +03:00
Peter Dimov
91735493d4 Update g++ 7.1 workaround to 7.2 2017-08-24 20:05:24 +03:00
Peter Dimov
d8628a7c5e Bump msvc version checks from <= 1910 to < 1920 2017-08-22 22:01:10 +03:00
Peter Dimov
f24d1ca5df Remove single header 2017-08-04 01:00:50 +03:00
Peter Dimov
dad038eea1 Use C++14 constexpr in cx_find_index as it's much less taxing for large N 2017-07-23 16:21:41 +03:00
Peter Dimov
3d17ab059f Do not include mpl.hpp in mp11.hpp 2017-07-20 19:16:41 +03:00
Peter Dimov
695e9234f9 Add MPL support 2017-07-18 16:37:31 +03:00
Peter Dimov
34946d2ae2 Add mp_is_map 2017-07-17 20:14:43 +03:00
Peter Dimov
50d35a2964 Add mp_map_keys 2017-07-17 19:46:51 +03:00
Peter Dimov
27d0d547ee Add mp_is_set 2017-07-17 19:28:36 +03:00
Peter Dimov
d5e39913c8 Add mp_quote_trait 2017-06-26 16:07:23 +03:00
Peter Dimov
464eee9596 Make primary templates in list.hpp empty instead of undefined, add error comments 2017-06-17 19:33:16 +03:00
Peter Dimov
d9c4308d9d Add list_size_mismatch which produces a better error message from mp_transform 2017-06-17 19:14:47 +03:00
Peter Dimov
e926c4ce62 Change mp_identity_t to be non-transparent, for consistency 2017-06-10 04:13:39 +03:00
Peter Dimov
cae6f966dc Rename make_from_tuple to construct_from_tuple 2017-06-08 19:22:53 +03:00
Peter Dimov
08777edbc1 Add make_from_tuple 2017-06-08 17:42:50 +03:00
Peter Dimov
359ae25630 Add tuple_apply 2017-06-08 17:19:28 +03:00
Peter Dimov
97720ed72d Rename tuple_for_each.hpp to tuple.hpp 2017-06-08 16:35:55 +03:00
Peter Dimov
592a4706a6 Update mp11_single.hpp 2017-06-02 19:25:52 +03:00
Peter Dimov
cde9259b1a Rename mp_for_index to mp_with_index 2017-06-02 18:20:37 +03:00
Peter Dimov
7f9f4c31e2 Avoid unused argument warning 2017-06-01 19:33:32 +03:00
Peter Dimov
0e099c4398 Add mp11_single.hpp 2017-06-01 17:17:31 +03:00
Peter Dimov
b8bbd279b2 Make mp_for_each constexpr under C++14 2017-05-31 23:44:24 +03:00
Peter Dimov
3cce995877 Rename mp_for_index_c to mp_for_index 2017-05-31 23:18:08 +03:00
Peter Dimov
1bd4b670ce Avoid control reaches end of non-void function warnings 2017-05-31 20:16:41 +03:00
Peter Dimov
e6c28a0848 Add mp_for_index 2017-05-31 19:56:18 +03:00
Peter Dimov
d78cf71a97 Revert previous; disable problematic test on 4.7/4.8 instead 2017-05-31 09:09:05 +03:00
Peter Dimov
5733185780 Try a g++ 4.7/4.8 workaround 2017-05-31 08:40:41 +03:00
Peter Dimov
a47c6e3c57 g++7.1 doesn't quite like mp_all, too; and 5 and earlier also fail in a different way 2017-05-31 07:57:02 +03:00
Peter Dimov
a768587c7d g++6 doesn't like mp_any either 2017-05-31 07:22:31 +03:00
Peter Dimov
9a69b1213c g++ 6 has problems with mp_and 2017-05-31 07:08:56 +03:00
Peter Dimov
f6d92069a9 Make mp_at SFINAE-friendly 2017-05-29 05:56:55 +03:00
Peter Dimov
c7923ca041 Change back mp_for_each to not use mp_identity 2017-05-29 03:04:12 +03:00
Peter Dimov
edcff6fa6f Add test for mp_transform_q 2017-05-25 21:51:40 +03:00
Peter Dimov
6db4019341 Add mp_transform_if_q 2017-05-25 21:31:03 +03:00
Peter Dimov
0e0d7fae4e Enable fold expressions on g++ 2017-05-24 06:16:17 +03:00
Peter Dimov
e81ce26bf9 Use fold expressions in mp_all, mp_any 2017-05-24 05:59:15 +03:00
Peter Dimov
fc562c7421 Fix mp_all on g++ 4.7 2017-05-24 04:59:15 +03:00
Peter Dimov
ecd77ab9fa Make mp_all fail when ::value is invalid for some type 2017-05-24 04:27:36 +03:00
Peter Dimov
b306ab25aa Do not use auto on g++ 4.7 in mp_plus 2017-05-24 03:47:24 +03:00
Peter Dimov
2bd7393365 Use fold expressions in mp_plus 2017-05-24 02:50:43 +03:00
Peter Dimov
3e40aacce5 Document mp_plus 2017-05-24 01:52:11 +03:00
Peter Dimov
6b1a2f6156 Revert mp_or; add mp_void; update documentation 2017-05-24 01:37:49 +03:00
Peter Dimov
07cac40f3d Change mp_and/mp_or to a SFINAE-based implementation 2017-05-23 23:25:30 +03:00
Peter Dimov
29a771aa4e Move integer_sequence and tuple_for_each into mp11 2017-05-23 20:24:37 +03:00
Peter Dimov
eac1bf28a5 Unextend mp_invoke g++ 4.x workaround 2017-05-19 16:22:41 +03:00
Peter Dimov
29c4b601b4 Extend msvc-12.0 mp_invoke workaround to g++ 4.x 2017-05-19 15:59:17 +03:00
Peter Dimov
7100d10c7e Make mp_infoke SFINAE-friendly 2017-05-19 15:37:49 +03:00
Peter Dimov
1d1be2bbf4 Add mp_eval_if_q 2017-05-19 03:22:53 +03:00
Peter Dimov
3cc44323e9 Second try to fix g++ 4.7 2017-05-19 01:13:09 +03:00
Peter Dimov
ec9d43e7e9 Try to fix g++ 4.7 2017-05-19 01:00:56 +03:00
Peter Dimov
02385ac83d SFINAE-fail mp_transform on lists of different sizes 2017-05-18 16:13:55 +03:00
Peter Dimov
611ea810bd SFINAE-fail mp_eval_if when F<U...> is invalid 2017-05-18 15:22:05 +03:00
Peter Dimov
37bbb15375 Make the E parameter of mp_if optional 2017-05-18 14:59:46 +03:00
Peter Dimov
15e45290d0 Add mp_insert, mp_erase 2017-05-13 21:52:56 +03:00