...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
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 |
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 { 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 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.