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 an old version of Boost. Click here to view this page for the latest version.

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.