libcaf  0.14.4
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
caf::typed_actor< Sigs > Class Template Reference

Identifies a statically typed actor. More...

#include <typed_actor.hpp>

Inherits comparable< typed_actor< Sigs...> >, comparable< typed_actor< Sigs...>, actor_addr >, comparable< typed_actor< Sigs...>, invalid_actor_t >, and comparable< typed_actor< Sigs...>, invalid_actor_addr_t >.

Public Types

template<class... Es>
using extend = typed_actor< Sigs..., Es...>
 Creates a new typed_actor type by extending this one with Es....
 
template<class T >
using extend_with = typename detail::extend_with_helper< T, Sigs...>::type
 Creates a new typed_actor type by extending this one with another typed_actor. More...
 
using behavior_type = typed_behavior< Sigs...>
 Identifies the behavior type actors of this kind use for their behavior stack. More...
 
using pointer = typed_event_based_actor< Sigs...> *
 Identifies pointers to instances of this kind of actor.
 
using base = typed_event_based_actor< Sigs...>
 Identifies the base class for this kind of actor.
 
using broker_pointer = io::experimental::typed_broker< Sigs...> *
 Identifies pointers to brokers implementing this interface.
 
using broker_base = io::experimental::typed_broker< Sigs...>
 Identifies the base class of brokers implementing this interface.
 
using signatures = detail::type_list< Sigs...>
 Stores the template parameter pack.
 
template<class State >
using stateful_base = stateful_actor< State, base >
 Identifies the base class for this kind of actor with actor.
 
template<class State >
using stateful_pointer = stateful_actor< State, base > *
 Identifies the base class for this kind of actor with actor.
 
template<class State >
using stateful_broker_base = stateful_actor< State, broker_base >
 Identifies the broker_base class for this kind of actor with actor.
 
template<class State >
using stateful_broker_pointer = stateful_actor< State, broker_base > *
 Identifies the broker_base class for this kind of actor with actor.
 

Public Member Functions

 typed_actor (typed_actor &&)=default
 
 typed_actor (const typed_actor &)=default
 
typed_actoroperator= (typed_actor &&)=default
 
typed_actoroperator= (const typed_actor &)=default
 
template<class TypedActor , class Enable = typename std::enable_if< detail::tlf_is_subset(signatures(), typename TypedActor::signatures()) >::type>
 typed_actor (const TypedActor &other)
 
template<class TypedActor , class Enable = typename std::enable_if< detail::tlf_is_subset(signatures(), typename TypedActor::signatures()) >::type>
 typed_actor (TypedActor *ptr)
 
template<class TypedActor , class Enable = typename std::enable_if< detail::tlf_is_subset(signatures(), typename TypedActor::signatures()) >::type>
typed_actoroperator= (const TypedActor &other)
 
template<class Impl , class Enable = typename std::enable_if< detail::tlf_is_subset(signatures(), typename Impl::signatures()) >::type>
 typed_actor (intrusive_ptr< Impl > other)
 
actor_addr address () const noexcept
 Queries the address of the stored actor.
 
 operator bool () const noexcept
 Returns *this != invalid_actor.
 
bool operator! () const noexcept
 Returns *this == invalid_actor.
 
bool is_remote () const noexcept
 Returns whether this is an handle to a remote actor.
 
actor_id id () const noexcept
 Returns the ID of this actor.
 
void swap (actor &other) noexcept
 Exchange content of *this and other.
 

Static Public Member Functions

static std::set< std::string > message_types ()
 Returns the interface definition for this actor handle.
 

Friends

class local_actor
 
template<class... >
class typed_actor
 
template<class T , typename U >
T actor_cast (const U &)
 Converts actor handle what to a different actor handle of type T.
 

Detailed Description

template<class... Sigs>
class caf::typed_actor< Sigs >

Identifies a statically typed actor.

Template Parameters
SigsSignature of this actor as replies_to<...>::with<...> parameter pack.
Examples:
dining_philosophers.cpp.

Member Typedef Documentation

template<class... Sigs>
using caf::typed_actor< Sigs >::behavior_type = typed_behavior<Sigs...>

Identifies the behavior type actors of this kind use for their behavior stack.

template<class... Sigs>
template<class T >
using caf::typed_actor< Sigs >::extend_with = typename detail::extend_with_helper<T, Sigs...>::type

Creates a new typed_actor type by extending this one with another typed_actor.


The documentation for this class was generated from the following file: