Boost.Bindのプレースホルダーは以下のように名前空間を指定することなく使えるので、ADLで探索されると考えてる方はけっこう多いようです。
boost::bind(f, _1);
でも実は、単に無名名前空間に定義されています。
// boost/bind/placeholders.hpp namespace { boost::arg<1> _1; boost::arg<2> _2; boost::arg<3> _3; boost::arg<4> _4; boost::arg<5> _5; boost::arg<6> _6; boost::arg<7> _7; boost::arg<8> _8; boost::arg<9> _9; } // unnamed namespace
これがBoost内で問題視されていたこともあって、LambdaやPhoenix、C++11標準などのプレースホルダーは名前のついた名前空間内で定義されているようです。