[/============================================================================== Copyright (C) 2001-2010 Joel de Guzman Copyright (C) 2001-2005 Dan Marsden Copyright (C) 2001-2010 Thomas Heller Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ===============================================================================/] [section Actor] The `Actor` is the main concept behind the library. Actors are function objects. An actor can accept 0 to `BOOST_PHOENIX_LIMIT` arguments. [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 struct actor { return_type operator()() const; return_type operator()(); template return_type operator()(T0& _0) const; template return_type operator()(T0 const& _0) const; template return_type operator()(T0& _0); template return_type operator()(T0 const& _0); //... }; 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 skimed over the details regarding `return_type`). The arguments are then forwarded to the actor's `Expr` for evaluation. [endsect]