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

This is the documentation for a snapshot of the develop branch, built from commit dbfa60bede.

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.