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

Make typed_actor<> comparable to actor

parent a9f5b9b5
......@@ -22,12 +22,12 @@
#include <cstddef>
#include "caf/intrusive_ptr.hpp"
#include "caf/actor.hpp"
#include "caf/make_actor.hpp"
#include "caf/actor_cast.hpp"
#include "caf/replies_to.hpp"
#include "caf/actor_system.hpp"
#include "caf/intrusive_ptr.hpp"
#include "caf/composed_type.hpp"
#include "caf/abstract_actor.hpp"
#include "caf/stateful_actor.hpp"
......@@ -56,6 +56,7 @@ class typed_broker;
/// parameter pack.
template <class... 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...>, strong_actor_ptr> {
public:
......@@ -232,6 +233,10 @@ class typed_actor : detail::comparable<typed_actor<Sigs...>>,
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 {
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