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 to view this page for the latest version.


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

[Note] Note

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

Phoenix supplies an actor class template whose specializations model the Actor concept. actor has one template parameter, Expr, that supplies the underlying expression to evaluate.

template <typename Expr>
struct actor
    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 BOOST_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 passed through to the evaluation mechanism. For more information see Inside Actors.