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.91.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_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 { 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.