Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.
PrevUpHomeNext

Actors

The Actor is the main concept behind the library. Actors are function objects. An actor can accept 0 to PHOENIX_LIMIT arguments.

[Note] Note

You can set PHOENIX_LIMIT, the predefined maximum arity an actor can take. By default, PHOENIX_LIMIT is set to 10.

Phoenix supplies an actor class template whose specializations model the Actor concept. actor has one template parameter, Eval, that supplies the smarts to evaluate the resulting function.

template <typename Eval>
struct actor : Eval
{
    return_type
    operator()() const;

    template <typename T0>
    return_type
    operator()(T0& _0) const;

    template <typename T0, typename T1>
    return_type
    operator()(T0& _0, T1& _1) const;

    //...
};

The actor class accepts the arguments through a set of function call operators for 0 to PHOENIX_LIMIT arities (Don't worry about the details, for now. Note, for example, that we skimp over the details regarding return_type). The arguments are then forwarded to the actor's Eval for evaluation.


PrevUpHomeNext