-
Notifications
You must be signed in to change notification settings - Fork 218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace mpl by mp11 (part 2/2) #3983
base: dev
Are you sure you want to change the base?
Replace mpl by mp11 (part 2/2) #3983
Conversation
The only MPL thing missing here is |
b0a576c
to
c16eba7
Compare
I have this PR on my radar and will try to rebase and test it together with #3834 soon. |
c16eba7
to
cc57059
Compare
eb5861b
to
91e9550
Compare
91e9550
to
9a2a80a
Compare
include/pmacc/meta/Apply.hpp
Outdated
{ | ||
using type = E<typename ReplacePlaceholdersImpl<Ts, Args...>::type...>; | ||
// nested ::type of E to mimic mpl::apply | ||
//using type = typename E<typename ReplacePlaceholdersImpl<Ts, Args...>::type...>::type; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bernhardmgruber we need to activate this because I would say that we have many places where we rely on the recursive apply.
Never the less both versions currently not compile.
9a2a80a
to
8dc2991
Compare
{ | ||
using type = Free; | ||
}; | ||
using fn = Free; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this called fn
and not apply
as in mpl?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because fn
is mp11's terminology. See: https://www.boost.org/doc/libs/master/libs/mp11/doc/html/mp11.html:
A quoted metafunction is a class with a public metafunction member called fn, for example ...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
found some issues.
typename boost::mpl::apply<T_Functor, T_Params...>::type>; | ||
}; | ||
// template<typename... T_Params> | ||
// using fn = Filtered<T_FilterOperator, Apply<T_Filter, T_Params...>, Apply<T_Functor, T_Params...>>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do not think that it is correct that this is removed.
The T_Filter and T_Functor must be updated with new signatures.
@@ -36,29 +36,17 @@ namespace picongpu | |||
* @tparam T_GetLowerMargin lower margin for pusher getter type | |||
* @tparam T_GetUpperMargin upper margin for pusher getter type | |||
*/ | |||
template< | |||
typename T_Species, | |||
typename T_GetLowerMargin = GetLowerMargin<GetPusher<boost::mpl::_1>>, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks wrong, the margins of the pusher will not be taken into account anymore.
8dc2991
to
af4650d
Compare
Co-authored-by: René Widera <[email protected]>
af4650d
to
e066555
Compare
Is this still planned? @psychocoderHPC @bernhardmgruber |
This is a continuation of the epic saga started in #3834. It continues by refactoring the seqence meta algorithms and replaces
boost::mpl::apply
.