Boost C++ Libraries Home Libraries People FAQ More



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.