- Aldebaran documentation |
- C++ Libraries |
- index

libqi-api 2.8.7.4

- Main Page
- Related Pages
- Namespaces
- Classes
- Files
- Examples

- Class List
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
qi::Actor Class Reference

`#include <actor.hpp>`

## Public Member Functions
| Actor ()=default
| Actor (const Actor &)=delete
| Actor (qi::ExecutionContext &ec)
virtual | ~Actor ()=default
qi::Strand * | strand () const
template<class... Args>
auto | stranded (Args &&...args) const -> decltype(_strand.schedulerFor(std::forward< Args >(args)...))
template<class... Args>
auto | strandedUnwrapped (Args &&...args) const -> decltype(_strand.unwrappedSchedulerFor(std::forward< Args >(args)...))
template<class... Args>
auto | async (Args &&...args) const -> decltype(_strand.async(std::forward< Args >(args)...))
template<class... Args>
auto | asyncDelay (Args &&...args) const -> decltype(_strand.asyncDelay(std::forward< Args >(args)...))
template<class... Args>
auto | asyncAt (Args &&...args) const -> decltype(_strand.asyncAt(std::forward< Args >(args)...))
void | joinTasks ()

## Detailed Description

Class that represents an actor.

Inherit from this class if you want your class to be an actor (as in the actor model). This means that your class will receive "messages" and not be called. In other words, there will never be to calls to your object in parallel, they will be queued.

Definition at line 24 of file actor.hpp.

## Constructor & Destructor Documentation

qi::Actor::Actor | ( |  | ) |
| default

qi::Actor::Actor | ( | const Actor & |  | ) |
| delete

qi::Actor::Actor | ( | qi::ExecutionContext & | ec | ) |
| inline explicit

Definition at line 32 of file actor.hpp.

virtual qi::Actor::~Actor | ( |  | ) |
| virtual default

## Member Function Documentation

template<class... Args>

auto qi::Actor::async | ( | Args &&... | args | ) | const -> decltype(_strand.async(std::forward<Args>(args)...))
| inline

Definition at line 58 of file actor.hpp.

template<class... Args>

auto qi::Actor::asyncAt | ( | Args &&... | args | ) | const -> decltype(_strand.asyncAt(std::forward<Args>(args)...))
| inline

Definition at line 72 of file actor.hpp.

template<class... Args>

auto qi::Actor::asyncDelay | ( | Args &&... | args | ) | const -> decltype(_strand.asyncDelay(std::forward<Args>(args)...))
| inline

Definition at line 65 of file actor.hpp.

void qi::Actor::joinTasks | ( |  | ) |
| inline

Definition at line 78 of file actor.hpp.

qi::Strand* qi::Actor::strand | ( |  | ) | const
| inline

Definition at line 38 of file actor.hpp.

template<class... Args>

auto qi::Actor::stranded | ( | Args &&... | args | ) | const -> decltype(_strand.schedulerFor(std::forward<Args>(args)...))
| inline

Definition at line 44 of file actor.hpp.

template<class... Args>

auto qi::Actor::strandedUnwrapped | ( | Args &&... | args | ) | const -> decltype(_strand.unwrappedSchedulerFor(std::forward<Args>(args)...))
| inline

Definition at line 51 of file actor.hpp.

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

- /home/opennao/work/release-2.8/sdk/libqi/qi/actor.hpp