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
Removing hpx::util::polymorphic_factory #1470
Conversation
Could you rebase this on master, please? |
…ation Conflicts: hpx/runtime/actions/continuation.hpp hpx/runtime/components/plain_component_factory.hpp
done. |
everything looks very good, thanks. |
std::vector<naming::id_type> localities = | ||
hpx::find_remote_localities(type); | ||
hpx::find_remote_localities(); | ||
|
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.
Is there still a way to identify plain actions for selecting localities supporting them?
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.
No, since all plain actions have the same component type, this is not possible with those changes. Is this something we really need?
struct is_nonintrusive_polymorphic<Derived1<T> > | ||
: boost::mpl::true_ {}; | ||
}} | ||
|
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.
Shouldn't that use a macro similar to HPX_SERIALIZATION_REGISTER_CLASS()
below?
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.
Yes, unfortunately, the corresponding macro for templated types hasn't been implemented.
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.
Do you still plan to add such a macro before merging the branch?
Conflicts: hpx/lcos/future.hpp hpx/runtime/actions/continuation.hpp
The review comments have been addressed. |
LGTM |
Removing hpx::util::polymorphic_factory
This PR primarily removes the need of hpx::util::polymorphic_factory and replaces it with the new facilities provided by hpx.serialization. It also simplifies the plain action registration which does not require to register a fake component type anymore.
This is a breaking change since the plain_action registration macros changed to mirror those of the component_action ones.