Peter Dimov
f16707f6e9
Update mp_fold to be SFINAE-friendly (for up to 9 elements)
2023-03-24 05:13:48 +02:00
Peter Dimov
7bc4e1ae9b
Merge pull request #71 from grisumbras/feature/mp_valid_and_true
...
implement mp_valid_and_true
2022-02-17 00:12:05 +02:00
Dmitry Arkhipov
1336c4f9c3
implement mp_valid_and_true
2022-02-16 20:48:26 +03:00
Dmitry Arkhipov
f4b3414e62
Add support for n-ary functions to mp_compose
2021-07-27 08:39:01 +03:00
Peter Dimov
21cace4e57
Remove mp_invoke
2020-10-20 00:08:11 +03:00
Peter Dimov
0851643af5
Change mp_invoke on Clang to use a struct, because deprecated alias templates never warn
2020-03-09 19:59:19 +02:00
Peter Dimov
03c221f2d5
Do not use Q::template fn...
because it breaks g++ < 7 and nvcc
2020-03-08 06:43:48 +02:00
Peter Dimov
5d25ec4ad8
Add mp_compose
2020-03-08 02:33:56 +02:00
Peter Dimov
fc8bfcf601
Add mp_eval_or
2019-02-14 21:03:13 +02:00
Peter Dimov
ca7e140827
Add mp_valid_q
2019-02-14 20:15:29 +02:00
Peter Dimov
beb9c2dd59
Add mp_eval_if_not
2019-02-14 19:57:04 +02:00
Peter Dimov
d4cad58e5c
Add mp_not_fn
2019-01-08 01:27:04 +02:00
Peter Dimov
72279a5b2e
Retain mp_invoke for compatibility, mark as deprecated
2019-01-07 04:34:01 +02:00
Peter Dimov
e5d6e0d0b9
Rename mp_invoke to mp_invoke_q
2019-01-07 03:41:29 +02: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
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
Peter Dimov
c2f8024305
Use alternative implementation of mp_valid for Intel C++
2018-01-18 22:38:29 +02: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
d5e39913c8
Add mp_quote_trait
2017-06-26 16:07:23 +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
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
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
9fbf51bbcb
Remove bind_front functionality from mp_quote
2017-05-12 19:43:03 +03:00
Peter Dimov
939a3b949d
Add mp_bind_q, mp_bind_front(_q), mp_bind_back(_q), mp_transform_q
2017-05-09 20:53:00 +03:00
Peter Dimov
321a54728f
Add indirection in mp_quote to enable expansions of T... into a fixed parameter list
2017-03-20 16:55:00 +02:00
Peter Dimov
71ba80d18a
Rename ::invoke to ::fn
2017-03-20 16:23:52 +02:00
Peter Dimov
946937b5ab
Rename Q::apply to Q::invoke, mp_unquote to mp_invoke.
2017-03-16 21:14:42 +02:00
Peter Dimov
a231733c7e
Move everything to namespace mp11
2017-03-15 21:23:15 +02:00
Peter Dimov
8d9e6f50dd
Add arguments to mp_quote, allowing partial application
2017-03-15 18:09:30 +02:00
Peter Dimov
6af4bbc113
Add mp_quote, mp_unquote.
2015-07-26 17:55:05 +03:00
Peter Dimov
e51ed6cf3d
Remove mp_defer_if_valid; add mp_identity_t.
2015-07-26 17:43:00 +03:00
Peter Dimov
61b897e857
Add mp_valid, mp_defer, mp_defer_if_valid.
2015-07-16 00:40:40 +03:00
Peter Dimov
dcd8d41ffc
Move implementation details to namespace detail.
2015-07-15 23:38:33 +03:00
Peter Dimov
686e398e56
Initial commit.
2015-06-21 19:53:23 +03:00