Peter Dimov
c92d2d0b6f
No longer use fold expressions for mp_count_if to avoid compiler limits
2021-03-22 19:17:44 +02:00
Peter Dimov
0348adbed9
No longer use fold expressions for mp_count to avoid compiler limits
2021-03-22 18:37:46 +02:00
Peter Dimov
064e9d415b
mp_count: do not use fold expressions on msvc because of parser stack limit
2020-11-26 02:14:59 +02:00
Peter Dimov
6bb260ff65
mp_count_if: do not use fold expressions on msvc-14.2 because of parser stack limit
2020-11-26 00:23:13 +02:00
Peter Dimov
4515938bbd
Work around std::tuple MSVC issue with mp_map_find ( fixes #52 )
2020-07-25 01:56:00 +03:00
Peter Dimov
13c36a793c
Improve compilation performance of mp_with_index<N> for large N
2020-05-09 17:32:03 +03:00
Peter Dimov
c806f70b73
Prefer __attribute__((deprecated)) on all g++-compatible compilers (f.ex. Intel)
2020-03-08 18:14:01 +02:00
Peter Dimov
1f634c7071
Do not use __builtin_unreachable() when not on g++ or clang. Fixes #46 .
2020-03-01 01:19:58 +02:00
vahtis
66681de1ed
Added fix for Sun Studio compilations. ( #45 )
...
* Added fix for Sun Studio compilations.
* Update config.hpp
2020-01-28 15:28:18 -08:00
Peter Dimov
164aa375f2
Split mpl.hpp into mpl_list.hpp and mpl_tuple.hpp
2019-08-23 20:02:00 +03:00
Peter Dimov
bf6f3e0221
Clang 3.3 can't parse __attribute__((deprecated)) on aliases
2019-05-25 03:40:23 +03:00
Peter Dimov
23a1432e8d
Use __attribute__((deprecated)) on Clang because of -pedantic
2019-05-25 02:24:47 +03:00
Jonathan Müller
bba027610f
Fix GCC sign conversion warning
...
The conversion bool -> int -> std::size_t triggers GCC sign conversion warning.
2019-05-22 11:03:50 +02:00
Peter Dimov
acd0e3e015
Test mp_same with 1024 arguments
2019-01-21 06:52:01 +02:00
Peter Dimov
8e60b42fa0
Check [[fallthrough]] in addition to [[deprecated]] to eliminate Clang 3.8
2019-01-12 18:23:06 +02:00
Peter Dimov
af12ea6785
Use __has_cpp_attribute instead of checking the Clang version
2019-01-12 08:03:54 +02:00
Peter Dimov
36a4e026df
Disable use of __attribute__((deprecated)) on clang-3.3 as it can't parse it on aliases
2019-01-11 02:16:55 +02:00
Peter Dimov
ceabf8066c
Use __attribute__((deprecated)) on clang 3.8 to avoid a warning
2019-01-11 00:32:39 +02:00
Peter Dimov
2274150ea0
Make primary templates in set.hpp empty instead of undefined
2019-01-08 02:39:07 +02:00
Peter Dimov
21a95388f5
Move mp_is_list to detail/mp_is_list.hpp
2019-01-07 21:26:35 +02:00
Peter Dimov
a9b36f58ae
Move mp_copy_if, mp_remove_if to separate headers
2019-01-07 20:44:50 +02:00
Peter Dimov
3e3d4dec74
Merge branch 'feature/mp_append_sf' into develop
2019-01-07 17:02:16 +02:00
Peter Dimov
2bf0aa3815
Make mp_append SFINAE-friendly; add test/mp_append_sf.cpp
2019-01-07 07:03:05 +02:00
Peter Dimov
72279a5b2e
Retain mp_invoke for compatibility, mark as deprecated
2019-01-07 04:34:01 +02:00
Peter Dimov
6fa5c890a8
Update msvc-14.1 workaround
2018-12-16 18:57:16 +02:00
Glen Fernandes
2e389b27e0
Make the default (unreachable) label the first one
2018-09-03 14:13:45 -04:00
Peter Dimov
025779ec15
Mark as unreachable the default cases in mp_with_index to improve code generation
2018-09-03 17:45:30 +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
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
4aacc60840
Replace detail/workaround.hpp with config/workaround.hpp
2018-01-23 21:34:35 +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
aae8d4dfba
Add mp_min_element_q, mp_max_element_q
2017-10-22 02:00:56 +03:00
Peter Dimov
4a8d6db171
Add mp_count_if_q
2017-10-21 21:30:51 +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
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
d8628a7c5e
Bump msvc version checks from <= 1910 to < 1920
2017-08-22 22:01:10 +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
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