>>177
確かに template は使ってるが動的に(引数を束縛)できるし、
以下のプログラムで new が使われていないことも確認した。

#include <cstdio>
#include "boost/function.hpp"
#include "boost/bind.hpp"
#include "boost/version.hpp"
void* operator new (std::size_t s) { throw std::bad_alloc(); }
int main()
{
  boost::function<void (char const*)> print(bind(&std::fputs, _1, stdout));
  print("Using boost "BOOST_LIB_VERSION"\n");
}

$ g++ test.cpp && ./a
Using boost 1_39