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


Placeholder Unification

Phoenix uses boost::is_placeholder for recognizing placeholders:

template <typename T>
struct is_placeholder
    static const int value = 0;

To adapt your own placeholder, the nested value needs to be greater than 0 for your types. This is done by specializing this trait.