boost :: bind, std :: bind и перегруженные функции

Я заметил, что boost :: bind, в отличие от std :: bind, может работать с перегруженными функциями, когда одна из этих функций нене имеет никаких параметров. Я прав? Это задокументировано?

#include 

#include 
#include 

void foo()
{
    std::cout < "::foo() \n";
}

void foo(int)
{
    std::cout < "::foo(int) \n";
}

int main()
{
    boost::bind(foo)(); // Ok
    boost::bind(foo, 0)(); // Ok

    // std::bind(foo)(); // Error
    // std::bind(foo, 0)(); // Error
}

#include 

Ответы на вопрос(3)

Ваш ответ на вопрос