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