Commit 8c412227 authored by Dominik Charousset's avatar Dominik Charousset

Make typed_actor<> comparable to actor

parent a9f5b9b5
...@@ -22,12 +22,12 @@ ...@@ -22,12 +22,12 @@
#include <cstddef> #include <cstddef>
#include "caf/intrusive_ptr.hpp" #include "caf/actor.hpp"
#include "caf/make_actor.hpp" #include "caf/make_actor.hpp"
#include "caf/actor_cast.hpp" #include "caf/actor_cast.hpp"
#include "caf/replies_to.hpp" #include "caf/replies_to.hpp"
#include "caf/actor_system.hpp" #include "caf/actor_system.hpp"
#include "caf/intrusive_ptr.hpp"
#include "caf/composed_type.hpp" #include "caf/composed_type.hpp"
#include "caf/abstract_actor.hpp" #include "caf/abstract_actor.hpp"
#include "caf/stateful_actor.hpp" #include "caf/stateful_actor.hpp"
...@@ -56,6 +56,7 @@ class typed_broker; ...@@ -56,6 +56,7 @@ class typed_broker;
/// parameter pack. /// parameter pack.
template <class... Sigs> template <class... Sigs>
class typed_actor : detail::comparable<typed_actor<Sigs...>>, class typed_actor : detail::comparable<typed_actor<Sigs...>>,
detail::comparable<typed_actor<Sigs...>, actor>,
detail::comparable<typed_actor<Sigs...>, actor_addr>, detail::comparable<typed_actor<Sigs...>, actor_addr>,
detail::comparable<typed_actor<Sigs...>, strong_actor_ptr> { detail::comparable<typed_actor<Sigs...>, strong_actor_ptr> {
public: public:
...@@ -232,6 +233,10 @@ class typed_actor : detail::comparable<typed_actor<Sigs...>>, ...@@ -232,6 +233,10 @@ class typed_actor : detail::comparable<typed_actor<Sigs...>>,
return actor_addr::compare(get(), x.get()); return actor_addr::compare(get(), x.get());
} }
intptr_t compare(const actor& x) const noexcept {
return actor_addr::compare(get(), actor_cast<actor_control_block*>(x));
}
intptr_t compare(const actor_addr& x) const noexcept { intptr_t compare(const actor_addr& x) const noexcept {
return actor_addr::compare(get(), actor_cast<actor_control_block*>(x)); return actor_addr::compare(get(), actor_cast<actor_control_block*>(x));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment