Boost C++ Libraries 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.


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
    operator()() const;

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

    template <typename T0, typename T1>
    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.