libcaf  0.15.3
Public Types | Public Member Functions | Public Attributes | Related Functions | List of all members
caf::function_view< Actor > Class Template Reference

A function view for an actor hides any messaging from the caller. More...

#include <function_view.hpp>

Public Types

using type = Actor
 

Public Member Functions

 function_view (duration rel_timeout=infinite)
 
 function_view (type impl, duration rel_timeout=infinite)
 
 function_view (function_view &&x)
 
function_viewoperator= (function_view &&x)
 
template<class... Ts, class R = function_view_flattened_result_t< typename response_type< typename type::signatures, detail::implicit_conversions_t< typename std::decay<Ts>::type >... >::tuple_type>>
expected< R > operator() (Ts &&...xs)
 Sends a request message to the assigned actor and returns the result.
 
void assign (type x)
 
void reset ()
 
 operator bool () const
 Checks whether this function view has an actor assigned to it.
 

Public Attributes

duration timeout
 
scoped_actor self_
 

Related Functions

(Note that these are not member functions.)

template<class T >
bool operator== (const function_view< T > &x, std::nullptr_t)
 
template<class T >
bool operator== (std::nullptr_t x, const function_view< T > &y)
 
template<class T >
bool operator!= (const function_view< T > &x, std::nullptr_t y)
 
template<class T >
bool operator!= (std::nullptr_t x, const function_view< T > &y)
 
template<class T >
function_view< T > make_function_view (const T &x, duration t=infinite)
 Creates a new function view for x. More...
 

Detailed Description

template<class Actor>
class caf::function_view< Actor >

A function view for an actor hides any messaging from the caller.

Internally, a function view uses a scoped_actor and uses blocking send and receive operations.

Attention
This feature is experimental.

Friends And Related Function Documentation

template<class T >
function_view< T > make_function_view ( const T &  x,
duration  t = infinite 
)
related

Creates a new function view for x.

Attention
This feature is experimental.
template<class T >
bool operator!= ( const function_view< T > &  x,
std::nullptr_t  y 
)
related
template<class T >
bool operator!= ( std::nullptr_t  x,
const function_view< T > &  y 
)
related
template<class T >
bool operator== ( const function_view< T > &  x,
std::nullptr_t   
)
related
template<class T >
bool operator== ( std::nullptr_t  x,
const function_view< T > &  y 
)
related

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