Boost
C++ Libraries
...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
This is an older version of Boost and was released in 2013. The current version is 1.90.0.
The Actor is the main concept
behind the library. Actors are function objects. An actor can accept 0 to
PHOENIX_LIMIT arguments.
![]() |
Note |
|---|---|
You can set |
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 { 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 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.